1 名前:デフォルトの名無しさん mailto:sageteoff [2015/03/18(水) 18:08:26.52 ID:irwZfv9C.net] 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。 他のスレッドでは書き込めないような低レベルな質問、 質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。 内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。 なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。 >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■前スレ ふらっと C#,C♯,C#(初心者用) Part114 peace.2ch.net/test/read.cgi/tech/1419512512/ ■関連スレ C#, C♯, C#相談室 Part86 peace.2ch.net/test/read.cgi/tech/1419608259/ ■コードを貼る場合は↓を使いましょう。 ideone.com/
367 名前:デフォルトの名無しさん mailto:sage [2015/05/10(日) 18:49:18.72 ID:07Tq/7H4.net] >>352 倒錯してるねお宅w nullを返さないメリットがあるのか、っていう問題設定も倒錯してるが、 自分が他人に聞く耳を持ってない(もしくは絶望的に頭が悪い、あるいはその両方)故に 他人が「自分が理解できないものは悪って考え」を持ってるように見える倒錯の自覚がないんだから笑える。
368 名前:デフォルトの名無しさん mailto:sage [2015/05/10(日) 20:30:33.45 ID:H2aT+UyF.net] 他でやれよキチガイ
369 名前:デフォルトの名無しさん mailto:sage [2015/05/10(日) 23:25:30.25 ID:2LKVHReQ.net] 自分の倒錯がない、か ふ
370 名前:デフォルトの名無しさん mailto:sage [2015/05/11(月) 05:59:09.93 ID:THA85e4W.net] しょぼい質問すいません。 public class Boy{ public static enum Status{ Idle = 0, Run, Jump } public void SetStatus(Status s){ switch(s){ case Status.Idle{ //アイドル時の処理 ・・・ } } ・・・ 上記のクラスを別クラスから boy.SetStatus(Boy.Status.Idle); としようとすると、 The modifier 'static' is not valid for this item というエラーメッセージがでます。何が問題でしょうか。
371 名前:デフォルトの名無しさん mailto:sage [2015/05/11(月) 06:12:49.50 ID:/d3x1RZ5.net] Java経験者か? C#のネスト型は全てJavaのstatic相当だからstaticは要らん
372 名前:デフォルトの名無しさん mailto:sage [2015/05/11(月) 07:01:02.44 ID:THA85e4W.net] >>360 早速のレス有難うございました。static 相当なんですか、知らなかった staticを消し去ったらエラーでなくなりました。
373 名前:デフォルトの名無しさん mailto:sage [2015/05/11(月) 15:31:57.10 ID:3W1OriMV.net] あやまることないぞ なごむ
374 名前:デフォルトの名無しさん mailto:sage [2015/05/11(月) 22:42:18.74 ID:UCBUcqC1.net] unityでゲームを作りたくて独習c#(全16章)を見ながらc#を学習中なんだけど これって初心者が半月ほどでマスターできるもんなの? 前に1日1章づつ進めるみたいなことが2chで書いてあったのを見て心配になってきた 約4ヶ月で500ページほど進めたんだがこれって遅い? 課題のプログラムを打ったり 内容を定着させるだけでもかなり時間がかかるんだが
375 名前:デフォルトの名無しさん mailto:sage [2015/05/11(月) 22:45:25.36 ID:/d3x1RZ5.net] 全くの未経験ならそんなもんだろ C#はC++やJavaからの移行がメインターゲットだけど、 そういう人なら2,3日でいける
376 名前:デフォルトの名無しさん [2015/05/11(月) 22:54:34.18 ID:fag+eL45.net] 独習C#はいい本だけど、全部やる必要ないよ。 ある程度進めばプログラム書けるようになってるし、後は目次でも眺めて、この機能はああいう場面で使うんだなって想像できるようになったら、そこをやってみたらいいよ。
377 名前:デフォルトの名無しさん [2015/05/11(月) 23:04:23.59 ID:HvlWSqoB.net] WinFormsのことで質問させていただきます あるフォームで受け取った情報を元に子フォームを新たに表示させ、ユーザーに通知するアプリを書いてます 子フォームの方をどうしてもアクティブにしたくないのでCreateParamsをオーバーライドしてWS_EX_NOACTIVATEを付与しています (また、通知を目的としているのでWS_EX_TOPMOSTも付与しました) この時、子フォームの方でコンテキストメニューのアイテムをクリックするとアクティブになろうとし、親フォームも前面に表示されてしまいます 見た目がお粗末なので、アクティブにしたくない(≒親フォームを前面に表示したくない)のですがどうすればいいでしょうか? コンテキストメニューはContextMenuStripを使用しています メニューを表示した時点では何も起こらず、アイテムにカーソルを合わせて(左,中,右いずれも)クリックを押下した時点で現象が発生します アイテム自体はToolStripMenuItemクラスのものを動的に生成したものをToolStripItemCollection.Add()で追加しています ToolStripMenuItemクラスのPerformClick()が「マウスでクリックされたときに、ToolStripItem をアクティブにします。」という不穏なものだったので、アイテムを継承して隠蔽してみても同様に押下時点でアクティブになってしまいました 親フォームにもWS_EX_NOACTIVATEを付与してみても変わらず、クリックに関するあらゆるイベントを一旦外してみても変わりませんでした
378 名前:デフォルトの名無しさん mailto:sage [2015/05/11(月) 23:09:43.62 ID:2taC8jHT.net] >>364 よく2,3日で、なんて言うヤツが居るがC++やJavaを知っていたとしても それなりに使いこなせるようになるのには最低、半月は掛かるだよ
379 名前:デフォルトの名無しさん mailto:sage [2015/05/11(月) 23:14:04.83 ID:UCBUcqC1.net] >>364 >>365 サンクス 学習方法が悪いのかといろいろ気になってたんだけど安心した ここまでやって最後までやらないのは気持ち悪いのでがんばるよ
380 名前:デフォルトの名無しさん mailto:sage [2015/05/11(月) 23:14:45.87 ID:/d3x1RZ5.net] >>367 それはライブラリとかその言語ならではの慣習とかの習得も含めてだな 独習で学べるような「言語だけ」なら2,3日あれば十分 本当にJavaやC++を理解していればの話だが
381 名前:デフォルトの名無しさん mailto:sage [2015/05/11(月) 23:19:40.45 ID:2taC8jHT.net] >>366 アクティブにならないウィンドウ ぐぐれ
382 名前:デフォルトの名無しさん mailto:sage [2015/05/11(月) 23:24:44.59 ID:VfSmB2Zt.net] >>366 問題がよく
383 名前:理解できんけど、だったら親子関係を持たせる必要がそもそもないのでは? [] [ここ壊れてます]
384 名前:デフォルトの名無しさん [2015/05/11(月) 23:31:57.34 ID:fag+eL45.net] 2 3日なんて読んで終わりがいいとこだろ。 見栄っ張りだなぁー
385 名前:デフォルトの名無しさん mailto:sage [2015/05/11(月) 23:38:20.79 ID:VfSmB2Zt.net] LINQ後回しにしても良ければそんなものかなって気もするけど、 LINQも入れてだと普通の人は2,3日じゃ無理だと思う
386 名前:デフォルトの名無しさん [2015/05/11(月) 23:39:34.20 ID:HvlWSqoB.net] >>370 上に挙げた操作以外ではアクティブになりません WM_MOUSEACTIVATEを受け取りメッセージのResultをWA_NOACTIVATEを代入して返すのも既に試してダメでした 他にあるかどうか調べてます >>371 言葉不足ですみません、 説明上便宜的に親と子という単語を使っただけで特別何かしらの関係があるわけではありません
387 名前:デフォルトの名無しさん mailto:sage [2015/05/11(月) 23:40:10.94 ID:MSFIVlYt.net] 言語よりクラスライブラリ使いこなすほうが大変だわ
388 名前:デフォルトの名無しさん mailto:sage [2015/05/12(火) 00:03:56.80 ID:5JIVc8IU.net] 便利なクラスライブラリまとめたサイト教えてください!
389 名前:デフォルトの名無しさん mailto:sage [2015/05/12(火) 00:20:00.74 ID:2qj2FgYQ.net] ttps://msdn.microsoft.com/
390 名前:363 [2015/05/12(火) 00:55:00.81 ID:JgIyYEkS.net] www1.axfc.net/u/3465925 簡単に状況を再現したものを上げてみました
391 名前:デフォルトの名無しさん mailto:sage [2015/05/12(火) 06:59:08.70 ID:UBEH/BOo.net] >>376 https://www.codeplex.com/
392 名前:デフォルトの名無しさん mailto:sage [2015/05/12(火) 10:28:46.17 ID:WZh54/Cu.net] >>378 サブスレッドを作ってそこから子フォームを開けばいいよ(適当
393 名前:デフォルトの名無しさん mailto:sage [2015/05/12(火) 11:07:31.23 ID:2Epq5Vrl.net] 元フォームを透明にしっぱなしにして 表示したいフォームはTOPMOST以外の物も別に作る、とか
394 名前:363 [2015/05/13(水) 02:56:15.35 ID:rmCMDYJ8.net] >>380 さんのやり方で無事目的が達成できました。ありがとうございました めぼしいメッセージを潰そうがお構いなしにアクティブにしてくるので、 もうめんどくさくなってメッセージループごと全部別スレッドに押し付けました >>381 1行目: 説明不足ですみません。元フォームの方でも操作を行う設計なので不可視にするのは選択肢としてありませんでした 2行目: 同じアプリケーションのフォームであればアクティブ化時に全てのウィンドウが前面に表示されるみたいなので、 ダミーのウィンドウを挟むとかは確かに一度考えましたがおそらく意味ないですね
395 名前:デフォルトの名無しさん mailto:sage [2015/05/13(水) 07:33:28.31 ID:CyrL7tq4.net] usingって、#includeと同じような意味合いですか?
396 名前:デフォルトの名無しさん mailto:sage [2015/05/13(水) 07:45:43.57 ID:q1XSy79m.net] 色々違うけどまぁ似たようなもん
397 名前:デフォルトの名無しさん mailto:sage [2015/05/13(水) 07:46:48.44 ID:S9DNZdjl.net] 全く違う usingは名前空間を省略できるようになるだけ Cではファイルごとにコンパイルが独立して走るので#includeしないとコンパイラが他のファイルにあるものを認識できないが、 C#ではコンパイラがもともと全体を認識しているので別にusingしなくても他のファイルにあるものを参照できる
398 名前:デフォルトの名無しさん mailto:sage [2015/05/13(水) 09:12:20.60 ID:3R4cfA9+.net] >>382 >>380 だけど、こういう発想ができる俺すごいよなw 天才と凡人の違いを感じる
399 名前:デフォルトの名無しさん mailto:sage [2015/05/13(水) 09:52:09.19 ID:nqIuSKm+.net] >>382 経験者がうまくいった方法を書いてるのに おそらく意味ないとか失礼な奴だな 内容もよくわかってないみたいだし
400 名前:デフォルトの名無しさん [2015/05/13(水) 13:47:03.30 ID:rmCMDYJ8.net] >>386 残念ながら1フォーム1スレッド使うので正式には採用できませんでした、すみません ただ、こういうしのぎ方もある、と参考にはなりました。ありがたいです >>387 理解が足りてなくて378さんにも申し訳ないです 仮に元フォームを透明にしていい前提
401 名前:だとして、具体的にどんな設計にできますか? 僕では自分で言った379の他に何も思いつけないので、アドバイスの内容が理解できてる384さんから聞きたいです [] [ここ壊れてます]
402 名前:デフォルトの名無しさん [2015/05/15(金) 08:30:43.78 ID:WGbVmF0r.net] しょぼい質問すみません。 C#でaspxのプログラムをしています。 phpのrequireみたいにクラスの定義を外出しにできますか? <%@ Page Language="C#" %> <% // Step1 ファイルからデータをdataに読み込む // Step2 読み込んだデータを整形して画面に表示する %> という処理をさせたいのですが、Step2のコードが長くなりそうなので別ファイルにしたいです。 phpだと <?php require seikei.php; ←ここに整形するクラス(seikei)を記載する // Step1 ファイルからデータをdataに読み込む // Step2 読み込んだデータを整形して画面に表示する $text=new seikei($data); print $text; ?> って書けばいいと思うんですが、c#でrequreに相当する関数が見つかりません。
403 名前:デフォルトの名無しさん mailto:sage [2015/05/15(金) 08:34:24.50 ID:wMYXsmJE.net] どうぞ https://msdn.microsoft.com/ja-jp/library/015103yb%28v=vs.100%29.aspx
404 名前:デフォルトの名無しさん mailto:sage [2015/05/15(金) 08:37:28.36 ID:wMYXsmJE.net] reactの開発者はコードとマークアップの分離は関心の分離ではなく技術の分離だから 一緒に書いてあるべきだって言ってたな 審美眼おかしいんじゃねえの javascriptなんか書いてるからだ
405 名前:デフォルトの名無しさん mailto:sage [2015/05/15(金) 08:41:00.97 ID:GMFmYUBa.net] 所詮クライアントなんだからどっちもビューにすぎない
406 名前:デフォルトの名無しさん mailto:sage [2015/05/15(金) 20:03:27.36 ID:7/UU3fpq.net] >>389 asp.netのwebformのひな形はコードビハインドがデフォじゃないのけ?
407 名前:デフォルトの名無しさん mailto:sage [2015/05/15(金) 20:12:16.06 ID:HpsIRK8w.net] >>389 visual studioで作ってるか?
408 名前:デフォルトの名無しさん [2015/05/15(金) 20:38:53.67 ID:KQDgGchW.net] 外部プログラムから引数を受け取り実行するプログラムを組んでいます。 そこでデバッグ実行する為に Debug* > Start Options > Command line arguments: の中に AAA\r\nBBB\r\nCCC ・・・@ と入力しプログラムを走らせたところ Enterを押しても改行を入れてのコマンドライン指定が出来ません。 str_arrangement[0]の値は AAA BBB CCC となっていることを想定(期待)していたのですが@となっていました。 [STAThread] static void Main(string[] str_arrangement) { // str_arrangement[0] } どうすればコマンドライン引数に改行を入れる事が出来ますか?
409 名前:デフォルトの名無しさん mailto:sage [2015/05/15(金) 20:44:05.54 ID:LbB40UU3.net] そもそもコマンドラインは改行できないでしょ
410 名前:デフォルトの名無しさん mailto:sage [2015/05/15(金) 20:50:10.21 ID:P6TE8e/2.net] string str = str_arrangement[1]; strarg = str.replace("\\n","\n");
411 名前:デフォルトの名無しさん mailto:sage [2015/05/15(金) 20:50:19.10 ID:VrkjESyN.net] 出来るみたいだよ d.hatena.ne.jp/hotokediary/touch/20110205/1296880664 ただ一般的じゃないからVSでは無理だろ 起動用プロジェクトを別に作ってみたら?
412 名前:デフォルトの名無しさん [2015/05/15(金) 21:24:16.34 ID:WPCuHu1g.net] >>>397 うーん、やっぱりそういう迂回作を使わないとダメなんですね。。。 >>398 面倒なので >>397 でいきます。
413 名前:デフォルトの名無しさん mailto:sage [2015/05/15(金) 22:03:53.95 ID:4m+4Cz6q.net] エディタ等からコピペで改行コード挿入できたぞ
414 名前:デフォルトの名無しさん mailto:sage [2015/05/15(金) 22:46:46.75 ID:HpsIRK8w.net] デバッグ実行のために>>397 にするのはどうかと… エスケープ入れると「\n」リテラル入力する時の問題が出てくるし
415 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 04:23:25.38 ID:ljsNYmv9.net] >>400
416 名前:普通Enterで入れられるべきでしょ。 [] [ここ壊れてます]
417 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 04:37:46.33 ID:2fYxSmep.net] コマンドラインって何かわかってる?
418 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 08:01:48.69 ID:4tUTPQEQ.net] edlinはエディタに使えますか?
419 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 09:36:15.35 ID:808i7u12.net] >>400 C# はそれでできるんだな C++ は直接 *.vcxproj.user 書き換えないとダメだった
420 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 10:43:25.16 ID:Qa54Pmnu.net] label1 label2 label3 for(int i=1;i<3;i++){ label(i ).text = 文字 } みたいにやりたいんですが、ラベルとか、テキストボックスの配列化?は出来ますか?
421 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 10:50:08.98 ID:PEgsZgRL.net] 自分で配列作ればいいじゃない
422 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 10:50:09.87 ID:MUnfOjBK.net] まとめてPanelに入れてpanel.Controls もしくは単にControls[“text” + i] 手で配列に入れるのはミスの元なのでお勧めしない
423 名前:デフォルトの名無しさん [2015/05/17(日) 11:37:20.22 ID:3k/uCjkF.net] >>406 こういうことだろ? label[] labelArray = new label[]{ label1, label2, label3 } for(int i=1;i<3;i++){ labelArray[i].text = "label"+i; }
424 名前:デフォルトの名無しさん [2015/05/17(日) 11:41:53.73 ID:3k/uCjkF.net] それか要素名を直接、動的にリフレクションで扱う手もあるけど 全くおススメできない
425 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 11:42:56.47 ID:Qa54Pmnu.net] >>407 >>408 >>409 そのように出来るのですね、ありがとうございます!
426 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 12:03:54.78 ID:3ILPbA+F.net] >>410 最近リフレクションを覚えたのかな?
427 名前:デフォルトの名無しさん [2015/05/17(日) 12:16:21.11 ID:3k/uCjkF.net] >>412 C#当初から知ってるが リフレクションを知らない人?
428 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 12:23:34.47 ID:gBt4eqGA.net] リフレクションを使うべき場面でもないのにリフレクションするのはたいてい初心者
429 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 12:29:38.93 ID:55duNRiS.net] 何のこっちゃw
430 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 12:30:17.37 ID:A/2J8g9j.net] >>414 409は使う必要もない所でリフレクション使って 糞コードを量産している初心者なんだろう
431 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 13:11:18.36 ID:fqCMYSmn.net] コントロール配列欲しい人たまにくるから簡単に作っといた https://ideone.com/pzQoqs
432 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 15:20:34.54 ID:Vz8/wQyv.net] コントロール配列が欲しいってのは低能VB厨だろ?
433 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 17:07:55.32 ID:a+o15yPS.net] コントロール配列が必要な場面に遭遇したこともないようなやつは ほとんど実務経験がない初心者だろうな
434 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 17:15:09.76 ID:azDp/x2p.net] 実務はクソコードで溢れてるような言い方止めてくんない? お前が代表面すんな
435 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 17:22:33.01 ID:oXL/1QJX.net] 状況に合わせて適切な実装が選択出来ることが一番重要じゃね? 417みたいに何やってもダメな奴もいるけど
436 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 17:26:58.87 ID:gfkqninw.net] VB6のようなベタなコントロール配列なんて使わないだろ
437 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 17:27:22.12 ID:wvzPz3Ba.net] 社会に出たら病コピペと似てるわ よほど酷い仕事でストレス溜めてんのね
438 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 17:27:48.35 ID:6hGp8vWg.net] >>419 むしろコントロールをインデックスで指定しなきゃならんようなら 普通はバカみたいに同じ機能のコントロールを配置しなくて良いようにUIを見直すよ。 万が一必用でもコードで明示的にList<T>なり何なりに突っ込む。
439 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 17:31:33.29 ID:fqCMYSmn.net] 静的なデザインに動的なアクセスは出来ればやりたくないが、保守性や可読性を考えた場合にそういう選択になる事もあると思うよ 作りゃいい話だがせめてForm.AllControlsとか欲しかったな
440 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 17:34:29.31 ID:MUnfOjBK.net] コントロールをインデックスで指定しなきゃいけないようなUIはそもそもWindows的におかしいので どう足掻いてもクソコードになるが、業務では必要とされることが多いのは事実であるから 実務がクソコードで溢れているというのは必然だ そのへんWebならわりと綺麗に作れるんだけどね
441 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 17:36:05.00 ID:fqCMYSmn.net] >>424 これ>>419 を肯定しちゃってるよね List<T>がコントロール配列そのものだから
442 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 17:49:59.53 ID:KGZ6ijCa.net] >>425 >作りゃいい話だがせめてForm.AllControlsとか欲しかったな これを作ってもアクセス方法が動的アクセスしかなく実用性がほとんどない よって実装されていないんだろう 配列やリストは静的アクセスするためのもの
443 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 17:56:08.58 ID:ygZMD/3a.net] GetMembersでとれるんじゃない?
444 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 17:57:35.80 ID:PEgsZgRL.net] 話が噛み合ってない気がする
445 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 18:20:19.82 ID:fqCMYSmn.net] >>428 状況に応じてVisible切り替えるような時、その切り替え仕様をTagに定義しておきたいとか
446 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 18:21:08.75 ID:6hGp8vWg.net] >>427 どういう読解力だよ
447 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 18:30:11.42 ID:Vz8/wQyv.net] コンテナコントロールがある以上ツリー状なデータなわけだから 配列っていわれるとモヤモヤする
448 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 18:35:05.73 ID:dM0pmF2t.net] >>432 424じゃないけど お前が自分でリスト使うってって書いてるだろ アホ >万が一必用でもコードで明示的にList<T>なり何なりに突っ込む。
449 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 18:38:19.14 ID:EwfTb6QO.net] >>433 アクセス方法が配列そのものだろバカか?
450 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 18:52:00.43 ID:gfkqninw.net] ところで、WPFだと動的なコントロールの作成は楽なのけ?
451 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 19:11:41.72 ID:azDp/x2p.net] お、荒れてるね
452 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 19:14:19.96 ID:MUnfOjBK.net] WPFならItemTemplateを使えばコード書かずに楽勝 でもXAMLは学習コスト高めなので今時コントロール配列とか言ってる子には厳しいだろうな
453 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 19:31:50.11 ID:6hGp8vWg.net] >>434 馬鹿かお前。 システムが暗黙的に作成するコントロール配列なんか使わずに ユーザーコード上に明示的に宣言したList<T>を使うって言ってるのにどんな馬鹿だよ本当。 っていうか前の文節で --- むしろコントロールをインデックスで指定しなきゃならんようなら 普通はバカみたいに同じ機能のコントロールを配置しなくて良いようにUIを見直すよ。 --- こう書いてるのにそっちは完全無視か馬鹿。 っていうか馬鹿は鳥頭だから2行以上前に書いてあることは覚えてないんだろうな
454 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 19:36:36.38 ID:Dosz5ijJ.net] >>439 >システムが暗黙的に作成するコントロール配列なんか使わずに >ユーザーコード上に明示的に宣言したList<T>を使う 自分が書いてる意味もわからない正真正銘の知的障害者 何を言っても無駄な社会のゴミ 早く自殺してね
455 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 20:11:47.34 ID:gfkqninw.net] >>438 WPF流行ってないよね。 MSも新技術色々出してハードドル上げてどうするつもりなんだろ? トンデモな勘違い野郎が間違った使い方するよ。
456 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 20:12:28.97 ID:gfkqninw.net] ハードドルって何やねんw
457 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 20:19:21.52 ID:TC+xegdR.net] M$が密かに開発しているソフトドルの機密を漏らした罪により >>442 は消される
458 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 21:26:36.50 ID:3k/uCjkF.net] WPFはマイクロソフトが事実上捨ててるからその内silverlightみたいにサポート終了になるだろうね
459 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 21:29:26.73 ID:MUnfOjBK.net] ビジネスアプリケーション向けの.NETの次世代UI技術は結局ASP.NET MVCに落ち着いたよ 極めて普通なWeb MVCアーキテクチャだからもう>>441 のような批判は当たらない XAMLなんかより遥かに分かりやすいから今からやるんならASP.NET MVCがいいよ
460 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 21:37:26.12 ID:6hGp8vWg.net] またいつものwebに夢みてる時
461 名前:纃誤な人か [] [ここ壊れてます]
462 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 21:40:48.22 ID:MUnfOjBK.net] >>446 MSが最近出したVisual Studio CodeはHTML5とJavaScriptで作られてるんだぜ
463 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 21:51:40.01 ID:3k/uCjkF.net] HTML5とjavascriptは標準技術だからね XAMLやASP.NET MVCみたいなローカル技術とは分けが違うよ
464 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 22:03:39.45 ID:MUnfOjBK.net] >>448 ASP.NET MVCはサーバー側の技術で、クライアントに使うのは当然HTML5だ 実際使うかどうかはともかく、今時Web MVCを全く知らないって さすがに開発者としてヤバいぞ
465 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 22:04:37.23 ID:CzRQDZeG.net] >>447 操作感がsublime textやatomそっくりな件。
466 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 22:13:53.35 ID:gfkqninw.net] >>445 別にasp.net mvcをdisってる分けじゃないんだが。
467 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 22:27:59.00 ID:3k/uCjkF.net] >>449 MVCを全くしらないとかどこに書いてあるんだ? おまえ頭おかしいぞ? 自分が知ってる狭い知識で語ってんじゃねえよ 身の程を知れ井の中の蛙
468 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 22:36:25.53 ID:azDp/x2p.net] WebはどうでもいいけどXAMLは100万年掛けても流行らないから MSはアプリ輸入の準備だけしててちょーだい
469 名前:デフォルトの名無しさん [2015/05/17(日) 23:02:16.91 ID:B6Xc4iyU.net] リファクタリングしたらxamlも更新されるようにせんか!手動バインドとか恐ろしいわ
470 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 23:47:12.71 ID:fg7/jRp/.net] MVCとASP.NET MVCの区別もつかないアホに構ってはいけない
471 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 23:57:17.18 ID:8oOUPadZ.net] >>449 恥ずかしいゴミめw
472 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 00:12:02.48 ID:rY8mv9pb.net] >>456 ローカル技術をクライアントサイド技術だと勘違いしてるって事かw
473 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 02:48:52.06 ID:iGSkgNue.net] 結局WindowsアプリのGUI作るのには何が一番いいの?
474 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 03:00:38.81 ID:tQ5Dyqi2.net] Windows Forms
475 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 06:25:04.78 ID:rY8mv9pb.net] 高dipのディスプレイが普及したらXAMLなんだろうけど。
476 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 06:27:21.84 ID:4bXcOge2.net] WinFormsでいいよ わざわざXAMLやるくらいならそれこそHTMLの方がいい VSCodeみたいにラップすることもできるし、ストアアプリでもHTML使えるんだし
477 名前:457 mailto:sage [2015/05/18(月) 06:28:53.40 ID:rY8mv9pb.net] dip → dpi の間違い
478 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 07:06:37.40 ID:jdBOVrH8.net] なんか、おれのくだらない質問から荒れてしまったみたいでなんかすみませんw
479 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 07:19:24.34 ID:92QLSF+E.net] 誰だテメーは いきなり現れて
480 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 07:42:22.46 ID:jdBOVrH8.net] >>406 こいつです
481 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 07:51:13.98 ID:oJXHJ+WI.net] 気にすんな 最近ふらっとスレには煽りたいだけの低能が集まってるみたい
482 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 08:07:17.02 ID:3eEkTQ9y.net] いるね レスのケツに必ず煽りがついてる人とか
483 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 08:27:22.37 ID:R6NuXwMZ.net] 集まってるって言うか、まともなやつらがいなくなっただけかと...
484 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 08:29:14.79 ID:wiNRRdg2.net] 5月の何時もの風景。
485 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 08:29:37.73 ID:7BvZDlvH.net] >>1
486 名前:デフォルトの名無しさん [2015/05/18(月) 17:38:21.87 ID:LZCCaXsh.net] C# でIEを操作しているのですが ie.Quit(); をしてもブラウザが閉じないことがよくあります。 これを回避する方法はありますか? もしくは、無理やりプロセス削除をするしか方法はないのでしょうか?
487 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 18:11:13.71 ID:oJXHJ+WI.net] COMオブジェクトがリークしてんじゃねーの? Marshal.ReleaseComObjectし忘れ。
488 名前:例えば var hoge = ie.Document.getHogeHoge(); ↑ ie.DocumentのところでHTMLDocumentClassオブジェクトがリーク [] [ここ壊れてます]
489 名前:デフォルトの名無しさん [2015/05/18(月) 20:09:01.46 ID:IFcmf4XH.net] まぁそれはよくある話だがIE自体がクソ なんでわざわざIE向けのCode書きたくもない。
490 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 12:09:18.52 ID:KlK4atyI.net] 他のスレで書くとC++やJavaを進められるので、あえてここで聞いてみます VSのC#が慣れた人がAndroidのビジネスアプリを作成する場合、何が一番良いのでしょう? 外部機器と通信して数値やグラフ表示する程度ですが
491 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 12:24:11.27 ID:Px7Puw/x.net] そんな前置きを書くとC++とJava勧める奴がでるぞ
492 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 12:24:17.97 ID:Ll/HpEwU.net] そんなもんASP.NET MVCで作ってブラウザで表示すりゃいいよ ビジネスアプリならどのみち裏でサーバー動いてるんだろ? わざわざAndroid固有の技術を覚える必要なんかない もしどうしてもネイティヴの体裁にしたいならWebView貼って終わり
493 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 12:45:54.61 ID:Ll/HpEwU.net] あと言語の問題だけじゃなくてデプロイやアップデートをどうするのかとか 紛失時のセキュリティとか、あらゆる面でWebの方が楽だ JSから使えない端末側の機能が必要とかオフラインでも使えるようにしたいとか、 よほど強い理由がなければサーバ側に何を使うかともかくWebベースがいい
494 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 13:25:28.98 ID:BpuPofZt.net] >>474 Javaでいいんじゃね。C#使えるならちょっと勉強すればJavaの文法は難しくないだろ ライブラリやAPIはどっちにしろ覚えないとしょうがないだろうから >>476-477 外部機器と通信というくだりをどう考えてるのか聞かせて欲しいもんだ
495 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 13:39:06.72 ID:D6hTeVWg.net] なんでもそうだけど一番メジャーなもので作るのがいいよ。 だからJava
496 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 14:26:18.58 ID:Ll/HpEwU.net] >>478 外部機器と通信というのが端末と機器の間で直接通信するという意味であるなら、 そもそも選択の余地はないだろうしそんなテクニカルな話で一般論の答えを求めても仕方ないと思うんだが
497 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 14:33:43.23 ID:D6hTeVWg.net] 通信だけ側でやって表示はWebViewでやればいい
498 名前:デフォルトの名無しさん [2015/05/19(火) 20:28:32.62 ID:Ye3mIF4/.net] >>472 対策としてはどーすればいいの?
499 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 20:53:01.44 ID:7GmTMJUE.net] リストを2つ用意してMVCモデルで設計するって 簡単に言ってどういう感じになるんでしょうか? list1とlist2があったとすると、list2にlist1の参照を入れる?って事ですよね?
500 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 21:17:45.49 ID:baIIPGtU.net] 何言ってるんだかさっぱり分からん 誰がそうしろって言った? そいつにMVCとはなんですかと聞け たぶん一般的な意味とは違うんだろ
501 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 21:23:26.04 ID:DIo0U3oL.net] >>482 いちおう変数で受けておいて使い終わったらMarshal.ReleaseComObjectする 効果ないかもしれない上に非常に面倒くさいけど。 var doc = ie.Document; try { var hoge = doc.getHogeHoge(); try { ... } finally { Marshal.ReleaseComObject( hoge ); } } finally { Marshal.ReleaseComObject( doc ); } IEとかってプロセスが再利用されるの期待して、すぐに死なないとかない?
502 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 21:35:43.77 ID:q3WQijmv.net] >>485 なんか諸説あって何が正しいのかよく分からんけど、 少なくともExcelオートメーションに関する限り経験的には ちゃんと変数に入れるだけで十分でReleaseComObjectは必要ない気が。
503 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火)
] [ここ壊れてます]
504 名前:21:47:37.66 ID:0y3JMzOX.net mailto: 何が正しいのかよく分からん場合にどうするか それだけじゃん [] [ここ壊れてます]
505 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 22:21:44.93 ID:WbxBVd4k.net] >>486 Interop.Excelから使う分にはReleaseComObjectは不要だと思う。 CreateObjectでレイトバインディングする場合は、ドット1つ以上使わないようにして オブジェクトを全部変数に入れて順番にReleaseComObjectする必要がある。
506 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 22:51:14.36 ID:q3WQijmv.net] >>488 なるほどそういうものですか。
507 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 00:38:14.58 ID:gX6G9tdz.net] >>485 試しにやってみましたが、効果ありませんでした。。。
508 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 00:49:51.58 ID:03XLPVPu.net] それC++でやっても残ったな。quitできないタイミングがあったはず。プロセス落とすのがいいと思う
509 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 02:42:40.81 ID:gX6G9tdz.net] >>491 ループ処理させながらieのプロセスを落としまくるとPCが不安定になりませんか?
510 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 06:31:47.64 ID:f7NgOdgI.net] >>490 それは、プロセスが残ったままになる場合の対応だからね。 Quitの前にSleepやDoEvents的なものでウエイトさせると出来たりしないか?
511 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 08:33:09.09 ID:KFMNcacm.net] IEの操作はvbsでやるに限る
512 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 07:07:47.85 ID:5AlY38lu.net] 初心者がLinq,ラムダ式に手出すのは早いですか?
513 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 07:28:51.30 ID:01TMmBFS.net] 文法も網羅してないのにもう中級者です!ってのもおかしい気がするが 個人的には
514 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 07:47:19.36 ID:MBfknsBq.net] これらを理解できてたら手を出していい ・デリゲート ・オーバーライド、多態性 ・Template Methodパターン、Observerパターン ・IEnumerable<T>の仕組み ・yieldの使い方 これだけわかってりゃLINQやラムダが何やってるのかはだいたい想像がつくはず
515 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 08:34:54.41 ID:/hDcy/Cl.net] キャプチャの仕組み理解すれば普通に使っていいだろ
516 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 08:45:38.96 ID:il658Xe0.net] LINQは使うと読み易くなることがあるが 壮大なオナニーLINQは害悪
517 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 09:16:37.76 ID:Tg0bXDwp.net] なんでや、オナニーに使われるのはLINQに限ったことじゃないやろ …関数型言語がポエム書きやオナニーに使われるのと同じで ドヤりたい人を引きつける何かを備えてることは否定しないが
518 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 12:14:00.62 ID:NNS76vjx.net] コントロールをドラッグして仮の枠を表示して、ドロップ先に線を描くのってどうやってやるの? 一時的にパネルを表示して仮の枠を描いて、ドロップ先もパネルを表示して線を描いておく感じですか?
519 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 13:12:17.42 ID:9WVVlPPq.net] >>501 何を言ってるのか分かるように書かないと回答来ないよ
520 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 14:27:40.35 ID:/hDcy/Cl.net] なんとなく分かった コントロールをドラッグして他のコントロールの場所に挿入するみたいな感じかな んでドラッグ中はinsertion markを描画すると ドラッグでコントロールの場所をリアルタイムで変化させちゃうというベタな方法のつもりなのかな? それだと移動先にマークを書くのが難しくなるわな ToolStripのAllowItemReorderの実装のようにOLEドラッグ&ドロップでやるのが楽っぽいけど マークもコンテナ描画イベントで描けるし かなり凝ればドラッグ中のコントロールを半透明で描画したりも出来るし
521 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 14:55:03.12 ID:MBfknsBq.net] 枠を付けたい場所に最初からPanelを入れまくっておいて枠を非表示にしとくだけでよくね それなら描画しやすいだけでなくイベントも簡単に拾える
522 名前:オ [] [ここ壊れてます]
523 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 16:21:42.63 ID:Md4oOCiG.net] ItemsControlクラスのItemsとItemsSourceの違いがよく分かりません。 型とアクセサを見るにItemsSourceは新しく割り当てるとき用で、 Itemsはいま割り当てられているオブジェクトの取得用ってことでしょうか? ItemsSourceを直接getすると何かマズいんでしょうか
524 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 16:35:02.91 ID:9WVVlPPq.net] >>505 MSDNライブラリの説明を読んで分からなければサンプルを見る。 普通それで分かる。
525 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 20:29:48.64 ID:MBfknsBq.net] >>505 ItemsSourceはコレクションをバインドするのに使う。 バインドするコレクションの要素はコントロールではなくて任意の型のオブジェクトで、 そのオブジェクトからどうやってコントロールを作るかをItemTemplateで定義する。 ItemsはItemsSourceの要素から生成されたコントロールのコレクション。 低レベルな制御をする場合以外は基本的にItemsは使わない。
526 名前:デフォルトの名無しさん [2015/05/21(木) 21:55:00.16 ID:Ps6etXnO.net] 下のようなプログラム string[,] test = {{ "a","b" }}; ArrayList data = new ArrayList(); data.Add(test); から、どのようにすれば ArrayList に格納された string[,] test を取り出すことが出来るでしょうか? foreach (string[,] func in data) { Console.Write(data); } と書けば取り出せたのですが、 インデックスが0にも関わらず foreach を使うのは、冗長な気がしており。。。 なお、ArrayList は使うべきでは無いのは解っておりますが、 扱いたい関数の返り値がArrayList のため、 やむなく使っております。 よろしくお願いします。
527 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 22:01:36.60 ID:MBfknsBq.net] (string[,])data[0] または data.Cast<string[,]>().FIrst() dataが空の場合でもコケないようにしたければ上記Firstの代わりにFirstOrDefault
528 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 22:51:04.66 ID:VDw572dB.net] 見た目にエラーが無ければ結果の正しさなどどうでもいい とはすごい発想ですね
529 名前:デフォルトの名無しさん [2015/05/21(木) 22:55:00.04 ID:Ps6etXnO.net] >data.Cast<string[,]>().FIrst() 取り出すことが出来ました。 こんな取り出し方があるのですね。 勉強になります。 ありがとうございます。
530 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 23:07:34.12 ID:d30eeU2g.net] え? (string[,])data[0] でよくないか?
531 名前:デフォルトの名無しさん mailto:sage [2015/05/22(金) 09:59:36.37 ID:tJUwDPLO.net] System.timers.timer動作中にRadioButtonを押すと、 有効ではないスレッド間の操作: コントロールが作成されたスレッド以外のスレッドからコントロール 'Button1' がアクセスされました。 と、表示されてしまいます。 timer動作中の中どころかソリューション全体の中でもButton1を使用したり関連付ける部分は書いていないのですが・・・。 何か対応方法等ありますでしょうか? よろしくお願いします。
532 名前:デフォルトの名無しさん mailto:sage [2015/05/22(金) 10:06:46.74 ID:AYYhXMHp.net] Nameプロパティが"Button1"ななんかのコントロールがあんじゃねーの? あとSystem.Timers.Timerは分かってて使ってんだよね?
533 名前:デフォルトの名無しさん mailto:sage [2015/05/22(金) 10:50:15.90 ID:tJUwDPLO.net] >>514 Form1.Designers.csも検索してみましたが、"Button1"が他で使われている形跡はありませんでした。 見た目的には安定するSystem.Windows.Forms.Timerを使用してみたところ、 今度はtimerの中のParallel Forで止まる様になってしまいました。
534 名前:デフォルトの名無しさん mailto:sage [2015/05/22(金) 11:35:09.17 ID:Eq73D2cp.net] ユーザーコントロール操作しててその中で使われてるとかそんなんじゃね? Button1にこだわらずにタイマのイベントハンドラ内でコントロール触ってるかどうかをとにかく確認
535 名前:デフォルトの名無しさん mailto:sage [2015/05/22(金) 12:04:17.52 ID:tJUwDPLO.net] とりあえず動作としては解決しました。 Button1を消したら今度はButton2でエラーが発生したので特定のコントロールは関係無かったです。 タイマーの中で余計な動きを見せない為にthis.SuspendLayout() とthis.ResumeLayout() を使っていたので、 こちらで引っかかっていました。 これらのメソッドについて、詳しく調べてみます。 ありがとうございました。
536 名前:デフォルトの名無しさん mailto:sage [2015/05/22(金) 13:13:12.96 ID:JBwzRzqV.net] あまり把握出来てないのでデバッグのヒントになりそうなやつ 1.例外ブレークポイント 2.スレッドウィンドウ これでなんか分かるかも
537 名前:デフォルトの名無しさん mailto:sage [2015/05/22(金) 13:16:00.51 ID:JBwzRzqV.net] あととりあえず動かしたいならタイマーでやる事をthis.Invokeに変更
538 名前:デフォルトの名無しさん mailto:sage [2015/05/22(金) 14:59:32.83 ID:G62CPnRd.net] 基本的な コントロールは別スレッドから操作してはいけない と言う事が理解できていない気がする あとは勝手に別スレッドで実行される状況も理解できてない気も
539 名前:デフォルトの名無しさん mailto:sage [2015/05/22(金) 16:29:40.04 ID:1VpTopWF.net] >>513 SynchronizingObject つ ttp://www.cactussoft.co.jp/Sarbo/divCompTimerEvntCS.html
540 名前:デフォルトの名無しさん mailto:sage [2015/05/24(日) 20:08:10.21 ID:KArwiYHk.net] VS2013です。 pictureBoxにLoadする画像の上にグリッドを描画したいです。 DrawLineで線分を描画することはできたのですが、破線を描画するにはどうすれば良いでしょうか? MSDNでGraphicsクラスのメソッドを見てきたのですが、該当するものが無いようです。
541 名前:デフォルトの名無しさん mailto:sage [2015/05/24(日) 20:27:32.93 ID:KArwiYHk.net] すみません解決しました
542 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 04:35:31.71 ID:v33s9jMH.net] 質問です Javaのsynchronized付きのメソッドを含むクラスをC#に移植しようとしているのですが、 GuardedSuspensionパターンで Task.Run(() => new Task(ClientThread)); Task.Run(() => new Task(ServerThread)); とやるとすぐにプログラムが終了してしまいます これを Thread cl = new Thread(new ThreadStart(Client)); new Thread(new ThreadStart(Server)); とやると正常動作します Taskはすぐに終了してしまうのでしょうか?
543 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 07:41:03.83 ID:R3oTKNZR.net] プロセスにフォアグラウンドスレッドが存在しなくなると バックグラウンドスレッドがまだ処理中でもプロセスは終了してしまう これが原因ではないか Taskは内部でスレッドプールを使っているが スレッドプールのスレッドは全てバックグラウンドスレッドだ フォアグラウンドスレッドが欲しいなら、自分でThreadを作成するべきだ 以下参考資料 https://msdn.microsoft.com/ja-jp/library/h339syd0%28v=vs.110%29.aspx https://msdn.microsoft.com/ja-jp/library/0ka9477y(v=vs.110).aspx
544 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 13:34:14.87 ID:tMcWag84.net] >>525 ありがとうございます 疑問がすっきり解決しました Taskももう少し改良して欲しいですね・・・
545 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 13:48:49.67 ID:63j168JE.net] 改良?
546 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 13:51:40.44 ID:rowGmHFY.net] Threadのようにいろいろ機能はあるけどThreadよりも使い勝手が良い、みたいな
547 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 13:54:40.42 ID:5Xzz88z5.net] TaskScheduler自前で作りゃいいだけだけど そもそもメインスレッドで待てばいいだろハゲ
548 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 14:34:51.52 ID:buubow6H.net] .NET3.5ベースで開発しています あるabstractクラス内のstaticメソッドを動的に舐めて Dictionary<"メソッド名", メソッド型>に突っ込んでいく処理でつまづいております codepad.org/uyDTOTDA 取得したメンバを実行するのはInvokeMemberすればいいのですが 今回のケースで探してもなかなか出てきませんでした よろしくおねがいします
549 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 14:52:20.57 ID:wGou5fq6.net] Task[] tsk = new Task[] {Task.Factory.StartNew(new Client), Task.Factory.StartNew(new Server) }; Task.WaitAll(tsk); こういう風に書くと正常に動きました お騒がせしました そりゃMainに書いてりゃMainが終了すれば呼びだされたTaskも強制停止されて 終了してしまう事を忘れていました
550 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 15:19:52.31 ID:MKPJRGG4.net] >>530 MethodInfo.CreateDelegate
551 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 15:31:25.76 ID:uOKH4JiO.net] >>530 みたいなことやるならMEF使えばいいのに
552 名前:527 mailto:sage [2015/05/25(月) 15:44:28.52 ID:buubow6H.net] >>532 ,530 リプライありがとうございます ご提案いただきましたMethodInfo.CreateDelegate、MEFは、残念ながら.NET 4からの機能です https://msdn.microsoft.com/ja-jp/library/hh194376%28v=vs.110%29.aspx https://msdn.microsoft.com/ja-jp/library/dd460648%28v=vs.110%29.aspx
553 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 16:54:45.18 ID:MKPJRGG4.net] ああ、そうだったか じゃあDelegate.CreateDelegateのほうで
554 名前:527 mailto:sage [2015/05/25(月) 17:09:02.90 ID:buubow6H.net] >>535 ありがとうございます! Delegate.CreateDelegateでいけました! foreach (MemberInfo m in typeof(Module).GetMembers(BindingFlags.Static | BindingFlags.Public)) { var del = System.Delegate.CreateDelegate(typeof(method_type), m as MethodInfo); methods.Add(m.Name, del as method_type); }
555 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 23:04:17.52 ID:+UFfY2ty.net] Windowsアプリケーションを作成しているのですが、 private void button_Click(object sender , EventArgs e){ ~~~ } button.Click += new EventHandler(this.button_Click); と記述してあるのですが、内部的にどのような処理が行われているのでしょうか。
556 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 23:26:51.92 ID:uOKH4JiO.net] >>537 button.Click += new EventHandler(…)は button.add_Click(new EventHandler(…))と同じ new EventHandler(this.button_Click)はJavaなら new EventHandler { public void Invoke(object sender, EventArgs e) { this.button_Click(sender, e); } } に相当する だからといって何がしたいのかは分からないだろうけど、それはObserverパターンを勉強しろ
557 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 03:24:56.20 ID:fbPfP2jD.net] TrackBarで、つまみをつかんでいる(つまみの色が変わっている) かどうかの判定ってできませんか?
558 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 03:30:46.44 ID:fbPfP2jD.net] あと、チェックボックス付のListViewで、1行選択の解除をやりたいんだけど、 ListViewHitTestInfoでクリックしたサブアイテムのindexを取る方法ってありますか
559 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 04:12:33.48 ID:Ihaek877.net] >>539 MouseDownとMouseUpのイベントを発生させるといいかも >>540 こんなのは? private void listView1_MouseDown(object sender, MouseEventArgs e) { ListViewHitTestInfo info = listView1.HitTest(new Point(e.X, e.Y)); int row = info.Item.Index; int col = info.Item.SubItems.IndexOf(info.SubItem); label1.Text = "row = " + row + ", col = " + col; }
560 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 21:58:33.29 ID:XkW9VjQH.net] WebClientで作成したインスタンスって破棄しないと影響でかいですか? 数秒毎にループでインスタンス作成しては読み取る処理してるんですが、同期処理のせいか重いです。非同期処理はこれから実装を検討してるんですが。
561 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 22:21:23.93 ID:ihueyhra.net] >>542 放置プレイで何の問題も起きてないが。
562 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 22:35:44.05 ID:aznGlafD.net] 数秒毎って、攻撃と思われないように気をつけろよ
563 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 22:40:12.30 ID:1SVgoR5i.net] 相談室でやってろよ阿呆君
564 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 22:53:17.63 ID:ihueyhra.net] >>542 毎回disposeするとHTTP Keep Alive効かないか
565 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 14:16:08.87 ID:SHzqDeqo.net] >>546 効くだろ。
566 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 19:10:07.05 ID:d869LRaF.net] >>547 Disposeでコネクション切断されるだろ。
567 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 20:02:27.61 ID:QF6UrsQ/.net] 544のコンピューターでは切断されたんだろうな
568 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 20:48:57.06 ID:kXESabcL.net] で、結局gc任せでいいの?
569 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 21:01:06.10 ID:+zWW11JT.net] Disposeによって内部のコネクションプールに戻されるとかじゃねぇの? Disposeはしといた方が良いと思う
570 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 21:34:23.34 ID:1xJgnWA+.net] ソース読むとWebClientはただのファクトリーで Disposeは何もやってないように見える
571 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 14:56:19.16 ID:DRtbRWlm.net] IDisposeを解放しないバカは死ね ただしasync/awaitは除く
572 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 17:06:27.61 ID:UmMhJR2/.net] 開放しないとどのような弊害が起きるんでしょう。
573 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 18:10:40.93 ID:C+IOxaVu.net] 設計上意図されないタイミングで開放するバカもいる
574 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 18:15:33.23 ID:49aSQ4HZ.net] 一般的なIDisposable実装ではファイナライザでリソース解放するようになっているのでパフォーマンスが低下する
575 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 18:28:02.76 ID:2+UGB+5g.net] >>556 適当なこと言うなよ
576 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 18:55:49.49 ID:y5cl7Y1T.net] ファイナライザを持つオブジェクトは2回GCしないと消えないので、 GCにかかる時間や頻度、そしてメモリ使用量を増加させる原因になる Disposeが明示的に呼ばれた場合はSuppressFinalizeでファイナライザを無効化することが推奨されてるから 明示的にDisposすることで結果としてパフォーマンスの向上につながる
577 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 19:37:57.72 ID:vFEdwQTI.net] IDisposable実装してるクラスは明示的にdisposeした方が良いのが多いが コネクションプール使ってるヤツは物理的にクローズされてパフォーマンスが落ちるのでものによるな。
578 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 19:45:22.76 ID:u87GwTIT.net] >>559 例えば?w
579 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 19:53:15.04 ID:zOKa2SxY.net] 常にConnectionと一体になってるような粒度のオブジェクトしか設計したことないんやろ
580 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 20:57:24.50 ID:vFEdwQTI.net] >>560 SqlConnection クラスとか
581 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 20:58:45.95 ID:d5Z165ny.net] Disposeしたのに繋がってたら嫌じゃね?
582 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 20:58:57.87 ID:vFEdwQTI.net] >>561 どういう意味?
583 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 21:03:22.68 ID:mQMhglYl.net] SqlConnectionは Dispose = プールに返却 だからDisposeは必須だぞ 使い終わりを検知する方法がないのにどうやって使い回してると思ってたんだ
584 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 21:26:23.97 ID:zOKa2SxY.net] 落ちもついたところで今日はお開き
585 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 21:43:46.63 ID:d5Z165ny.net] おやすみ〜
586 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 22:55:48.95 ID:vFEdwQTI.net] >>565 コネクションクローズしとくだけで良いだろ。 どうせプロセスが終ればプロセス毎解放されるし。
587 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 23:13:09.23 ID:nd5twrZx.net] >>558 >ファイナライザを持つオブジェクトは2回GCしないと消えない その珍妙な説のソースは?
588 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 23:46:38.97 ID:T/VeDaq5.net] >>569 「ソースはMSDN」くらい省略させてくれよ、常識だろ? https://msdn.microsoft.com/ja-jp/library/ee787088.aspx
589 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 23:56:09.15 ID:oQYe81Za.net] ソースが出せない人の常套句「ソースはMSDN」 もちろんリンク先にはソ書かれていない
590 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 00:36:38.12 ID:9foGZIMb.net] MSDNって言われても初心者的にMSDNはわかりにくいんだよなぁ
591 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 00:55:02.32 ID:QGRYrQik.net] 参照型プロパティの初期化について質問です。 ■実装方針 1.プロパティのnewは1度きりで、インスタンスは引き継ぐ。 (初期化しても引き継ぎたい値のコピーやnew処理コスト、コード量増加抑止を目的) 2.プロパティのInitializeは毎回実行。 3.Initializeの引数は
592 名前:Nラス毎に異なる。 ■実装例 http://ideone.com/nQJ6VZ ■質問内容 1.Initialize内部では例外が無い前提で実装するのは、多人数開発においてアリか。 2.Initializeの成否でなく、thisを戻り値にする設計は、多人数開発においてアリか。 3.「m1 =(m1 ?? new M1()).Initialize」の部分が定形的なので、もっと省略したり単純化する方法はあるか。 4.実装方針に問題点はあるか? 以上、部分的にでもご意見いただければと思います。 [] [ここ壊れてます]
593 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 01:29:44.63 ID:MabpreS8.net] >>573 何のために、このような回りくどいやり方をするのでしょうか?
594 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 02:01:48.74 ID:rnPMXZrB.net] >Initializeは毎回実行 初期化を複数回呼び出すことがおかしい。 何でInitializeがコンストラクターと別なの?
595 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 06:45:17.54 ID:EczZHdOg.net] >>569 ごめんなさいは?
596 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 07:03:44.63 ID:EczZHdOg.net] >>573 1. 例外がスローされる可能性を排除しては「いけない」し、そもそも「できない」。多人数だろうが個人だろうが。 2. インスタンスを返すこのようなメソッドは静的にしたくなる。 成否と言ってるけどそもそもInitializeは失敗するのか? 失敗したインスタンスはどうするのか? Initializeという名前だけど、毎回実行なら初期化というより単に情報を与えているだけな気が。 3. そういうレベルじゃなくね? m1, m2は初期化前に触られたらどうなんの? 4. なんか筋が悪いコードに見える
597 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 07:13:17.54 ID:crGWWGGX.net] コンストラクタで例外投げたくないという話なら分からないでもないが、 Initializeでも投げないとなると、初期化に失敗してる可能性をプロパティ使用時に考慮しなければならない Initialize呼び忘れのリスクもあるし、ミスを非常に生みやすいクソ設計といえるね
598 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 08:24:58.82 ID:HdJipRY3.net] ビルダーパターンとメソッドチェーンに妙な感化でもされたのか
599 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 08:26:31.55 ID:E4eD717b.net] 初期化がメソッドチェーンに含まれる設計がクソ 初期化はコンストラクターでやれ
600 名前:570 mailto:sage [2015/05/31(日) 13:31:30.99 ID:QGRYrQik.net] 皆さん、ご意見ご指摘ありがとうございます。 後出しになってすみませんが、まず質問時の補足をさせていただきます。 ■状況 現在WPFを勉強中です。 もともと初期化を以下のイメージで実装していました。 これでは、インスタンスの作成とモデル毎に異なる初期化の判別が冗長だと感じたのが今回の質問のきっかけです。 m1 = m1 ?? new M1(); m1.Initialize(hoge,"foo"); m2 = m2 ?? new M2(); m3 = m3 ?? new M3(); if (m3.IsInitialize) { m3.Reset(dst); } else { m3.Initialize(dst); } ■考え方 質問時のコードは、次の考え方を含んでいました。 ・コンストラクタでの初期化が適当でないモデルを想定。(継承、シリアル化、バインディング、非同期、他) ・初期化⊃リセットと考え、Initializeにリセットの意味合いを持たせる。 ・処理の抽象化とコード量を短縮することを目的に、Initializeをメソッドチェーンにする。 ・初期化(リセット)が失敗した場合、エラー度合(処理を進めるのか終了するのか)は、タイミングや他モデルの状態に依存し、 初期化時に例外スローはせずにプロパティ参照時にエラー度合をチェックすべき。 続きます。
601 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 13:34:53.01 ID:QGRYrQik.net] >>581 の続きです。 今回私の考え方に誤りがあることが分かり、勉強になりました。 ■反省 ご指摘を受けて、次の是正が必要だと認識しました。 ・コンストラクタでの初期化が適当でないものだけ、Initializeを作成する。 ・初期化とリセットを混同せず、別々に定義する。 ・初期化でのメソッドチェーンはやめる。 ・初期化失敗時に例外を投げて問題ない、エラー度合を判断できるクラス設計にすべき。 ■お願い 反省点を認識したものの、具体的な実装が浮かびません。 上記コードのようなさまざまな参照型プロパティの初期化が必要な場合、どう効率的に実装するかご提示いただけないでしょうか? Initializeを作らないというアプローチでもかまいません。 抽象的なお願いとなりますが、ご助力ください。
602 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 15:14:08.09 ID:HdJipRY3.net] このモデルは本当にコンストラクタでの初期化が適当でないんだろうか
603 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 22:23:16.53 ID:GgyUUQ/3.net] C#を使うなら諦めろということだ。どうしてもいやならC++を使えばよい。 placement newがある
604 名前:デフォルトの名無しさん mailto:sage [2015/05/31(日) 22:36:02.70 ID:DItVGOoj.net] プロパティを普通に作って??は消せよ
605 名前:デフォルトの名無しさん mailto:sage [2015/06/01(月) 13:53:32.03 ID:ZLkEb6tw.net] 一つのクラスに色々詰め込みすぎだろ 一緒に初期化できないなら別のクラスにするのが筋 例えば永続化層は単なるデータとして分離しろ
606 名前:デフォルトの名無しさん mailto:sage [2015/06/02(火) 10:57:10.02 ID:+73WPJDz.net] バックグラウンドで文字列の置換を行っているのですが DoWorkの引数を複数にした場合の書き方が分からず困っております。 どうすれば正常に動くのか教えてください。 ideone.com/ZATGGK
607 名前:デフォルトの名無しさん mailto:sage [2015/06/02(火) 11:50:01.20 ID:3K9K5nvj.net] this.backgroundWorker1.RunWorkerAsync(new object[] { this.workerArgument, this.workerArgument2 }); ↓ と引数を設定したんなら ↓ object[] obj = (object[])e.Argument; string str = (string)obj[0]; string str2 = (string)obj[1]; じゃね? しかしFormがBackgroundWorkerを公開しちゃってるしよろしくないね BackgroundWorkerなんて投げ捨ててTask使おうぜTask
608 名前:デフォルトの名無しさん mailto:sage [2015/06/02(火) 12:42:25.68 ID:+73WPJDz.net] >>588 教えていただいたとおりにしたところ正常に動作しました。 難しそうですがTaskというものも調べてみようと思います。 どうもありがとうございました。
609 名前:デフォルトの名無しさん mailto:sage [2015/06/02(火) 20:50:03.01 ID:pCEddnCf.net] ソレでもいいけど、Tuple使うのが常套手段じゃね? www.atmarkit.co.jp/fdotnet/dotnettips/1024tuple/tuple.html
610 名前:デフォルトの名無しさん mailto:sage [2015/06/02(火) 21:18:24.64 ID:16XnEFNb.net] >>590 これってメソッドとかに渡す時、受け側はどう宣言するの?
611 名前:デフォルトの名無しさん mailto:sage [2015/06/02(火) 21:29:11.90 ID:Km0g2dva.net] asyncじゃあかんの?
612 名前:デフォルトの名無しさん mailto:sage [2015/06/02(火) 23:36:06.84 ID:Xy74cFV6.net] まだTupleとか言ってるバカがいるのか タプルってのは var name, age = GetNameAndAge(); のようにして使うもんであり、 間違ってもitem1とかいう意味不明な名前でコードを暗号化するためのものではない 言語レベルでのサポートがない言語で使うべきではない
613 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 01:02:06.86 ID:N6yD348L.net] dynamicはアカンの
614 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 04:04:12.25 ID:+cwo1qGY.net] item1とか適当な名前でも問題ないぐらいの処理だからTuple使うわけで ちゃんとした処理ならちゃんとしたクラス作るか匿名クラスかでやるわ
615 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 07:15:25.31 ID:Wh0ON4xv.net] もう質問は解決してますよ 思想の話がしたければ電車に飛び込んだ後、地獄でゆっくりやれよクソカス
616 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 07:15:29.90 ID:amqoRlyA.net] ほうほう では匿名クラスを使ったサンプルとやらを見せて貰おうか
617 名前:デフォルトの名無しさん mailto:sage [2015/0
] [ここ壊れてます]
618 名前:6/03(水) 07:27:33.67 ID:Wh0ON4xv.net mailto: 地獄でやれって言ってんだろ痰壷野郎 [] [ここ壊れてます]
619 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 07:40:18.45 ID:QMuypoEX.net] TupleはF#のために追加されただけだよ C#も言語レベルでサポートしてほしい派だけど、 Tuple.CreateやらItem1やらを喜んで使うのはセンスを疑うわ
620 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 07:42:09.25 ID:u1dB80rd.net] ウンコはトイレでしてもらえますか?臭いですよ
621 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 17:26:40.68 ID:o7sLDqXU.net] Tupleは内部の隠ぺいされた範囲内でテンポラリーとして仕方なく使うものじゃないの?
622 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 18:57:18.34 ID:QadS+ygN.net] 型と順序だけ決まっていればいいならTuple メンバーに名前を付けたいならクラスを定義する 名前を付けたいけど取り出すコードが近くにあるテンポラリなら匿名オブジェクト 名前をつけたいけどクラスを定義するのがダルいならdynamic タプル型は変数に名前が欲しいかどうかであって、チンポラリとか関係無い
623 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 21:16:51.33 ID:90whoNkH.net] >>601 クラス内部で使うデータ構造としてお手軽便利に使っておりますが。
624 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 22:09:17.51 ID:RjLZjXm6.net] IComparerとかIEqualityComparerを実装するのに class と struct のどっちがお勧め? 継承する必要がないなら struct の方がいいんじゃないかと思うんだが
625 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 22:15:57.39 ID:tAqP6WbY.net] >>604 その問題設定そのものが変
626 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 22:17:10.12 ID:QMuypoEX.net] 本当にそれだけの条件しか考慮しないならclassだろう CompareやEqualsの呼ばれる頻度が高いならstructはコピーで遅くなる可能性があるし struct+interfaceはボックス化避けるためにジェネリック多用しなきゃいけなくて不便だし 特殊化でメモリも食う
627 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 01:05:37.04 ID:hSX2tQGq.net] ソートメソッド内でIComparerを引数にするメソッドが呼ばれてるからコピーが発生しまくるってこと? Array.Sortの実装見ただけだけど
628 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 01:17:57.75 ID:nTFCM4h6.net] それだけの条件って言うけど どういう条件下ならstructを選ぶの? 選ぶ理由が全くない気がする 継承云々は問題に聞こえないし(sealedしとけよ)
629 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 01:21:11.61 ID:pwnhvS/Q.net] だから問題設定がそもそも変なんだってw そうとしか言いようがない。
630 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 08:12:26.92 ID:hSX2tQGq.net] structの方がインスタンス化が早いので でもソートメソッド内でコピーが発生する実装になってたらデメリットになるなと
631 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 08:32:19.38 ID:xuWz3vjX.net] 何か達成したい目的があって、IComparerを実装するのはその手段だろ? IComparerを実装するのにどっちがいいかとか意味不明すぎる Q. 新しい礼服を買ったので週末着ていきたいです。どこに行けばいいですか? A. 葬式 みたいな質問
632 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 08:46:15.14 ID:bfstKBEm.net] 話の内容が理解できないなら無理してレスしなくてもいいんだよ?
633 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 10:20:31.70 ID:xy19AX+E.net] 条件提示してんだからそれについて解答すりゃええやん どういう条件に変わればこっちを選ぶとか蛇足もいいとこ 答えられないから自分の答えられる実装の方がいいとかも論外
634 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 10:36:35.29 ID:SACPq2eU.net] 御託並べていい気に浸ってんじゃねえよ無職ハゲが
635 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 11:09:16.46 ID:xuWz3vjX.net] そもそも条件なんか提示されてないに等しいだろ 俺は>>606 だが、インターフェイスを強調するからには使用頻度が高いのだろうとか 恐らくパフォーマンスを重視しているのだろうとか 多くの勝手な想像を基にした回答だ こういう意味不明な質問はまず目的を訊くのが一番手っ取り早くて確実なんだよ
636 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 11:45:56.80 ID:xy19AX+E.net] classとstructのどっちがいいかと聞かれたらclassと答えとけばいいんじゃないかね 理由 コピーにかかるパフォーマンスとか計算できるぐらいなら質問してこないと判断
637 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 12:13:28.56 ID:03L4l+Cb.net] 理由になってないな。 質問者の質問がトンチンカンなら答える方もトンチンカンときてる
638 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 12:16:51.46 ID:6LXNtE4C.net] /j /__/ ‘, // ヽ ', 、 // ‘ /イ ', l ’ …わかった この話はやめよう iヘヘ, l | ’ | nヘヘ _ | | l ハイ!! やめやめ | l_| | | ゝ ̄`ヽ | |〈 ̄ノ ゝソノノ `ー‐' l ! ¨/ n/7./7 ∧ j/ / iヽiヽn |! |///7/:::ゝ r===オ | ! | |/~7 i~| | | ,' '/:::::::::::ゝ、 l_こ./ヾ.. nl l .||/ | | | | l {':j`i::::::::::::::::`ーr ' ||ー---{ | '" ̄ ̄iノ .l::::::::::::::::::::::∧ | ゝ ', , 一 r‐‐l γ /、::::::::::::::::::::::::〉ー= ___ ヘ ヽ } / o |!:::::} / o` ー 、::::::::::::i o ,':::::::{`ヽ ヘ ノ / o ノ:::::∧ /ヽ o ヽ::::::::| o i::::::::ヽ、 / / / ノ::::::/ /::::::::ヽ o ヽ:::| o {::::::::::::::Υ /
639 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 13:00:46.81 ID:+mmsYIdN.net] マンガ脳の恐怖、まで読んだ。
640 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 14:25:28.39 ID:18shCTe3.net] お前らVSはいくつつかってる?オラは2010だべ
641 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 15:17:58.42 ID:ualL+iXH.net] 2013 Community Gitも使えるんで
642 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 16:04:23.30 ID:ziyE/dl1.net] 2010個もVS使うのかー
643 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 16:42:30.85 ID:9wvQs+dO.net] 典型的コミュ障
644 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 17:18:29.15 ID:d0k9FDEW.net] 2013ExpressアンインストせずCommunity入れたら、テンポラリにゴミが徐々に溜まってく不具合にあって きちんとインストールし直すのに大変だった。
645 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 00:09:26.15 ID:TGIdieIs.net] インターフェースからのメソッド呼び出しの質問 structをキャストしたインターフェースからのメソッド呼び出しが、classをキャストしたインターフェースからのメソッド呼び出しより遅いのは何故? structのキャストはボックス化なので遅いのは分かるけど、メソッド呼び出しも? >>604 だが、IComparerをstructで実装するとソートが遅いのは分かった くだらん質問してすまんかった ideone.com/V6biVn
646 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 12:14:41.11 ID:ArINQc3s.net] メソッドに隠し引数としてインスタンスが渡るときにアンボクシングが発生するからだろ 滅多に使わないから最適化も甘いんだろうな structのときは代わりにジェネリックのwhere使うとボックス化を回避できるしメソッド呼び出しも速いよ
647 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 01:11:05.16 ID:04NM/uA4.net] 3つの値を保持できるコレクションクラスとか・・・ないですよね・・・? KEY, val1, val2 みたいな・・・
648 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 04:49:06.42 ID:F9D1Moux.net] Dictionary<TKey, TValue>のTValueを自前クラスもしくはTupleにするとか、KeyedCollection<T>を実装するとかいくらでも KEYが特別な意味を持たないならList<T>でも
649 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 05:01:52.19 ID:04NM/uA4.net] >>628 あーなるほど・・・ ありがとうございました
650 名前: [] [ここ壊れてます]
651 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 11:55:17.80 ID:DogIJv+Z.net] C#で作ったFormアプリの画面デザインが そのままhtmlに変換できてWebページに 簡単に作り変えられるような方法やツールは無いですか? 今、初めてhtml書いてWebページ作っているんですが難しいので困っています。 C#のformなら簡単に作れるのでそれがそのままhtmlに変換できればいいのですが。 情報お待ちしています。
652 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 12:03:44.31 ID:j3Nw075S.net] ホームページ作成ソフト使え
653 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 12:06:50.35 ID:9TAyXKx2.net] なかなか(C#スレとしては)新機軸な質問だな
654 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 12:19:39.72 ID:JRwr9maH.net] html手書きしてんの? 勉強になるから続けなさい
655 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 12:37:08.53 ID:jpaAX+4P.net] WebアプリでHTML/CSS/JavaScriptは三種の神器ではないか。 HTMLが手書き出来ないとはプログラム業界も末世じゃのぅ。
656 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 12:58:01.30 ID:tUGAzLyi.net] そこでWPFの出番!?
657 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 13:19:53.17 ID:9TAyXKx2.net] お呼びじゃないのよカスWPF
658 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 18:29:11.73 ID:G9GytojR.net] そろそろWPF出てから10年たつね
659 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 19:26:53.90 ID:NFG7nQDY.net] WPFは頭良くないと使えないよな
660 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 19:31:30.44 ID:jpaAX+4P.net] Windows/Web FromがExcelでWPF/HTMLがWordって感じだな。 Wordはバカには使えないw
661 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 19:42:24.55 ID:zNSHofQv.net] >>639 普通逆だと思うけどw
662 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 19:42:40.89 ID:NlzRnH5v.net] HTMLというかWeb MVCはWPFに比べりゃバカ向きだぞ バインディングなんて複雑な概念がなく、コード書いてHTMLをテキストで吐き出すだけという低脳仕様
663 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 19:53:31.02 ID:9TAyXKx2.net] 頭が良かったら壊れたアーキテクチャなんか選びませんわ
664 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 20:16:44.33 ID:jpaAX+4P.net] >>641 世の中、低脳ばかりだからWPFが流行らないと言いたいのか。
665 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 20:22:45.51 ID:NlzRnH5v.net] >>643 WPFが流行らないのは単に学習コストを正当化できないからでしょ 業務アプリに高度なビジュアル表現なんて必要ないし、 バインディングを活用して作るような量産型画面はWebで十分な場合が多い
666 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 21:38:39.71 ID:H1DMvpQ4.net] MSは本質的に違うもものを統合しようとして失敗する癖があるな。 シェル+ブラウザ デスクトップアプリ+Webアプリ デスクトップ用OS+タブレットOS 他にも有る?いっぱいあるはず。
667 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 21:44:11.22 ID:eXSgfOqh.net] 企業でwpfの採用が進まず全く普及していない 需要が皆無なので学習者も増えずますます普及が遠のく こんな悪循環か
668 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 21:48:12.15 ID:gPTqz+5d.net] >>644 MVVMガーとかもあるけど結局パフォーマンスでしょ。 全てを保持モード一本で押し切るやり方は現実的じゃないのに結局それを中の人が認められなかった。
669 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 21:59:05.28 ID:F9D1Moux.net] wpfはフォントによって文字が滲むのがな…
670 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 22:40:15.43 ID:2gM0oTMR.net] >>645 MSに限らんが、Webのモデルをデスクトップに持ち込んでくるようになって いろいろ使いづらくなったよな。
671 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 23:05:39.13 ID:jpaAX+4P.net] >>648 高DPI対応にするにはWPFが必要なのに文字が滲むとは?
672 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 23:21:52.95 ID:9TAyXKx2.net] TextFormattingModeとかTextRenderingModeを指定してないんでは あとはUseLayoutRoundingとか? たかがテキストくらいデフォルトでベストなソリューション提供しろよ 間抜けかお前はって思うけど
673 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 00:01:26.36 ID:41WPBkin.net] WPFが悪いわけではないが 96dpiの糞モニターでクリアタイプは目に良くない WinFormの糞フォントが最適
674 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 00:33:29.83 ID:3tKyuKE8.net] クリアタイプはGDI+の機能ですw
675 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 03:30:23.96 ID:p+QzNCcW.net] wpf+net3.5で文字.や画像が滲んだのは遠い記憶
676 名前:デフォルトの名無しさん [2015/06/07(日) 09:20:51.82 ID:bLu9Dp3Q.net] ポストグレスに、データをインサートするため、 下記のようなコードを書いたのですが、 DataRowの"b"に該当する列にnullが出現すると、 「オブジェクトをDBNullから他のタイプにキャストすることはできません。」と 怒られてしまいます。 var com = new NpgsqlCommand(sqlStr, conn); com.Parameters.Add(new NpgsqlParameter("a", DbType.String) { Value = row.Field<string>("a") }); ↓オブジェクトをDBNullから他のタイプにキャストすることはできません。 com.Parameters.Add(new NpgsqlParameter("b", DbType.Double) { Value = Convert.ToDouble(row["b"]) }); どのようにすれば回避出来るでしょうか。 よろしくお願いします。
677 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 09:31:34.43 ID:8NCQzbFC.net] 不具合でも理不尽な仕様でもなく純粋にお前が間違ってるんだから回避という言い方はやめろ row.Field<double?>(“b”)
678 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 09:34:38.34 ID:XmKcFN/K.net] >>645 統合=シームレス=先進的!便利!普及! みたいな思想が根底にあるんだと思うわ 違い(セキュリティの深刻度・UIのレベル)を完全に吸収できればそれもいいんだろうけど 中途半端に終わってるよな
679 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 14:29:09.63 ID:bLu9Dp3Q.net] >>656 com.Parameters.Add(new NpgsqlParameter("b", DbType.Double?) { Value = row.Field<double>("b") }); という書き方は試していたのですが、DataRow側をキャストしてやらないと 意味が無いんですね。 よくよく考えると、なるほどと思うのですが、 ハマると何がおかしいのかも解らなくなり。 基本をしっかり勉強しようと思います。 ありがとうございます。
680 名前:デフォルトの名無しさん [2015/06/07(日) 14:38:28.12 ID:bLu9Dp3Q.net] Silverlightが終わった時点で、 WPFもバッサリ切り捨てて欲しいと思う今日この頃。 WEBアプリと共通化できない時点で、WPFの魅力は 8割くらい消えたと思う。 余計なプラットフォームを増産するくらいなら、 フォームアプリのUIをリッチに進化させてくれるだけで 十分なのになぁ。
681 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 15:47:59.15 ID:NaIbOULp.net] フォームを切り捨てるべき
682 名前:デフォルトの名無しさん [2015/06/07(日) 16:28:11.24 ID:bLu9Dp3Q.net] >フォームを切り捨てるべき 1000件を超えるデータをDataGridに表示したとき、 スクロールが満足に出来なくて、 WPFに未来は無いと思ったけど、 やり方によって早くなるのアレ。
683 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 16:43:06.02 ID:FHoyYiwS.net] そらそんなの重いに決まってる。仮想ビューにしとけよ
684 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 16:54:54.38 ID:XmKcFN/K.net] ワロタ
685 名前:デフォルトの名無しさん [2015/06/07(日) 17:32:42.45 ID:LuDRIQ04.net] ジェネリックスで特定のインターフェイスを食わせると、 そいつのNullオブジェクトを作って返すメソッドて可能?
686 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 17:37:36.05 ID:8NCQzbFC.net] Castle DynamicProxyでも使えば
687 名前:デフォルトの名無しさん [2015/06/07(日) 17:43:25.91 ID:LuDRIQ04.net] トン ググってたらRealProxyってのが標準であるっぽいな、使い方調べてみるわ
688 名前:デフォルトの名無しさん [2015/06/07(日) 17:52:51.05 ID:LuDRIQ04.net] 調べたが、結論から言うとだめだった 後出しですまんが、ポータブルクラスライブラリの中で使いたかったんだ
689 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 18:12:22.29 ID:8NCQzbFC.net] >>667 ストアアプリ対応を視野に入れるなら動的コード生成は使えないと思う T4かビルドステップで静的生成するしかないな
690 名前:デフォルトの名無しさん [2015/06/10(水) 09:42:27.56 ID:ygS+rXar.net] C#で自身を自動アップデートしたいのですがClickOnce以外で簡単な方法はないでしょうか? Visual Studio 2013 Communityを使用しています。
691 名前:デフォルトの名無しさん mailto:sage [2015/06/10(水) 20:09:37.98 ID:mqs3U/0V.net] 更新用のプロセスを起動して更新してもらったら 。
692 名前:デフォルトの名無しさん mailto:sage [2015/06/10(水) 22:09:57.35 ID:kk1whmrM.net] 自身をリネームしてダウンロード、それを立ち上げたらリネームした古exeを削除でいけるってさ でもこの方法だと互換性タブの内容とか初期化されそうだけど
693 名前:デフォルトの名無しさん mailto:sage [2015/06/10(水) 23:42:51.42 ID:PClQRuuG.net] 前作った時は、更新チェック、更新するプログラムを先に起動させて 必要なら本体をダウンロード。なければ本体を実行 更新用のプログラムの更新が面倒だが、とりあえず放置したw
694 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 00:16:00.76 ID:APPInatq.net] 更新用のプログラムの更新は本体がする
695 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 00:32:40.92 ID:Js1obKtO.net] マニフェスト適切に設定すればProgram Filesの中も書き換えられるんだっけ? その辺クリアしても、適当にやるとインストーラーの自己修復機能が働いていろいろ 大惨事になりそうな気がw
696 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 04:32:28.69 ID:/dmUwZL+.net] Blendに期待してやってみたが なんだこれは カラムの色を変えるだけでものすごく面倒 カラムの色を変えられると困るの? 普通変えたいだろ? 変えさせたくない理由でもあるのか? ボタンが星形にできます? なめんなよカス 誰がそんなのほしいんだよ 何が開発効率あがるだ 色変えられないならWinFormsと一緒だろうが ふざけんな!
697 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 06:21:26.51 ID:RSM2GHGx.net] >>674 アドバタイズショートカットを無効にしとけば問題なし。 マニフェスト設定うんぬんって何?
698 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 06:26:04.61 ID:/LMhdntT.net] >>675 ビルマの星形死体が恵まれた痛みなの
699 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 12:57:44.67 ID:8v336KOJ.net] >>675 まぁ単純なのだったらWinFormの方がはえーだろう
700 名前:デフォルトの名無しさん [2015/06/11(木) 14:00:29.61 ID:7IeLpwzz.net] // 構成 public interface IHoge { event EventHandler Foo; } internal static class IHogeEx { public static void Dispatch(this IHoge hoge) { /*hoge.Foo発火*/ } } : // 使用例 var hoge = provider.GetService<IHoge>(); hoge.Dispatch(); 上記のように、IHoge に拡張メソッドを生やして、そこからイベントを発火させたいんだけど、 何かスマートなやり方ないだろうか
701 名前:デフォルトの名無しさん [2015/06/11(木) 14:03:09.70 ID:y/M+seZQ.net] MVVMフレームワークは何を使えば一番良いですか? 沢山あってどれを使っていいのかわからないので教えてください
702 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 14:30:38.84 ID:tam4srza.net] >>679 インターフェイスに発火用のメソッドを追加しないなら、 ダウンキャストかdynamicで直接実装クラスの発火メソッドを呼ぶしかない
703 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 15:16:11.25 ID:hKCw6BKi.net] スマートも糞もないよねえw
704 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 20:53:35.21 ID:kfIByvae.net] string src =
705 名前:"abc1"; string dst = "abc2"; この場合"abc"と返してくれる こんな感じで2つの文字列からマッチしたとこだけ 返してくれる関数って存在しますか? [] [ここ壊れてます]
706 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 21:02:35.81 ID:Rh7nLCb0.net] 「こんな感じ」なんて曖昧な要件に疑問を感じないならプログラマ辞めるべき
707 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 21:14:06.58 ID:0Pxomqre.net] 「マッチしたとこだけ」の仕様から詰めていこうか まあ標準メソッドにはないだろうな
708 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 21:18:18.91 ID:Ufbw3rnf.net] >>683 積集合でよければ、LINQのIntersect string src = "abc1"; string dst = "abc2"; var results = src.Intersect(dst);
709 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 21:19:54.57 ID:tam4srza.net] 先頭からだけでいいなら new string(src.Zip(dst, (x, y) => new[] { x, y }).TakeWhile(xy => xy[0] == xy[1]).Select(xy => x[0]).ToArray())
710 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 21:23:09.74 ID:Ufbw3rnf.net] そうだよね 普通先頭からだよね なにやってんだ、俺
711 名前:デフォルトの名無しさん mailto:sage [2015/06/11(木) 21:45:19.58 ID:kfIByvae.net] 集合演算とかいうのを知らなかったこれ便利ですね ありがとうございます
712 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 10:49:10.11 ID:2WRpjnt2.net] 684は順序依存だから集合演算というよりリスト演算やシーケンス演算と呼ぶべきだろ
713 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 16:07:40.50 ID:qBpXFxOz.net] HDD内のすべてのファイル情報を保存したい どういう形式で保存すればいいの? 新しく作ったプロジェクトからも簡単に読めるような 汎用的なのがあったら教えて
714 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 16:18:10.66 ID:quZXc/6x.net] VHDにしてマウントすれば最強だろ
715 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 16:20:08.31 ID:tFsYlsAo.net] >>691 情報なわけだろ? MongoDBとかSQLite、テキスト的なものならJSONとか色々あるべさ。
716 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 16:29:40.61 ID:quZXc/6x.net] 渾身のギャグ空振り
717 名前:デフォルトの名無しさん mailto:sagete [2015/06/12(金) 22:44:32.47 ID:lGbqaeoG.net] 1つメソッドがあったとします。例 test(int A,int B) このメソッドは割と多くの場所で呼んでいるのですが、引数を追加したくなりました。 test(int A,int B,string C) 参照を検索して1つ1つ手直しすると結構時間がかかってげんなりするのですが、 例えばCに一番多く使う単語"tarou"をメソッドの修正と一緒にすべての参照元にも追加できたら助かるのですが、 そういったまとめて修正するような方法ってないでしょうか?
718 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 22:50:30.69 ID:dm5ygxXA.net] 正規表現置換で全く問題なく置換できる気がする
719 名前:デフォルトの名無しさん mailto:sagete [2015/06/12(金) 22:53:12.22 ID:lGbqaeoG.net] なるほど そういう機能みたいなのはないですよね 正規表現で置換が一般的なのかな 正規表現で置換してみます ありがとう
720 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 23:00:46.72 ID:PfZlC01y.net] オーバーロードしたら? アセンブリ内限定のメンバならオプション引数もアリ
721 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 23:01:53.04 ID:Kc7Sj0Rn.net] 正規表現がカンペキとな。 どれだけ693は頭が悪いんだ。 ところで692は釣り質問でいいんだよな?
722 名前:デフォルトの名無しさん mailto:sagete [2015/06/12(金) 23:03:55.51 ID:lGbqaeoG.net] 釣りじゃなくて割と真面目に困ってますよー ぱっと調べてもまとめて修正するような方法見当たらなかったので、皆参照一覧にして手打ちしてるのかなと・・・ 正規表現だと真ん中に追加するのが大変そうでした
723 名前:デフォルトの名無しさん mailto:sagete [2015/06/12(金) 23:10:45.98 ID:lGbqaeoG.net] >>698 違う内容のメソッドを書きたいわけではなく、(引数が異なるほぼ空のメソッドでもう片方を呼べということだとは思うのですが) 追加修正のたびにオーバーロードを増やすのもちょっと抵抗あるので、オーバーロードは避けたいかもしれません オプション引数というのはよく知らんかったので
724 名前:調べてみたら希望に合いそうなものでしたが、途中だけ省略するのは出来ないっぽいんですね もう少し調べてみます ありがとう [] [ここ壊れてます]
725 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 23:14:10.93 ID:5TqWIrUh.net] オプション引数なんかよりよっぽどいいのに何が抵抗なんだろうな
726 名前:デフォルトの名無しさん mailto:sagete [2015/06/12(金) 23:19:45.78 ID:lGbqaeoG.net] >>702 引数の修正の度に同じメソッドが大量にできたら分かり辛くありませんか? 修正の度に5個も6個もオーバーロード作って重ねていくのが一般的なのです?
727 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 23:20:59.14 ID:n696dST6.net] メソッド増やしたくないならオプション引数でOK いざとなったら名前付き引数もできるし 面倒だからあんまり使わないけど
728 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 23:29:40.51 ID:GYWzfYC0.net] 素直に引数を直した方がいいと思うがな。
729 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 23:32:47.43 ID:5TqWIrUh.net] >>703 オプション引数出来たの4.0だからそれまでのものはそうだよ あとはコンパイル時に補完される為外部に公開する場合後で変更できなくなって困る事、定数しか指定できない事から、基本的にオーバーロード使ってる 引数の組み合わせが膨大になるならオプション引数使うかな
730 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 04:19:23.11 ID:ds8D2Sdy.net] 引数が5回も6回も変更されて、そのたびに呼び出し元も全部修正するとか そんな奴が設計するようなプロジェクトには関わりあいたくないなぁ
731 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 06:06:42.74 ID:KSn5zbP7.net] >>707 ここふらっとスレですし 皆が皆、プロジェクトwとかに関わってるドカタじゃないわけで
732 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 08:00:57.79 ID:KmHyJDy9.net] ドカタを馬鹿にしたな 埋めたろか
733 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 08:16:10.09 ID:CvpFt6eB.net] ドカタが馬鹿にされるんじゃない 馬鹿だからドカタと呼ばれるんだ
734 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 10:25:20.60 ID:54ObALVU.net] 引数がお互いに関連の強いものだったら クラスにまとめてそのオブジェクトで渡すようにしておけばいいし
735 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 11:47:39.05 ID:xsEqCEFL.net] 総務部長からドカタになったサラリーマンもいますけどなにか
736 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 12:02:19.55 ID:LG1+98Ox.net] オブジェクトで渡します! その結果↓ Show(new ShowArg("タイトル","内容",3,5,Beep.Short,Color.Red,640,480,5,5,5,5));
737 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 12:06:21.98 ID:Rkh+1gQ3.net] >>712 総務って一番無能やん
738 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 12:18:07.18 ID:KSn5zbP7.net] >>713 コンストラクタにもクラスでまとめてオブジェクトで渡すんだよ
739 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 14:58:17.94 ID:ds8D2Sdy.net] >>715 そのコンストラクタに渡すオブジェクトのコンストラクタにもクラスでまとめて渡すわけですね
740 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 15:06:40.87 ID:AmgidL1k.net] 誰かゾフィー呼んでこい
741 名前:デフォルトの名無しさん [2015/06/16(火) 01:47:38.73 ID:jDZvQ/PE.net] .NET4.5で追加されたHttpClientを使って、何を通信しようとしても通信せずに HelloWorldだけ返すダミークライアントを作りたい HttpClientのコンストラクタに空っぽのHttpResponseMessageを返す ダミーのHttpMessageHandlerを食わせてリクエスト投げると 全く応答が帰ってこなくなるんだが、どう修正すればいいんだろう
742 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 03:46:48.21 ID:IOmyN/sL.net] >>717 私は命を2つ持ってきた
743 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 13:03:42.49 ID:tzCZhzEY.net] >>718 自己レス。 なんか原因はっきりしないけど、TaskCompletionSource<HttpResponseMessage>使わずに Task<HttpResponseMessage>使ってて、何らかの要因でデッドロック起こしてたのが原因ぽい。 TaskCompletionSource<HttpResponseMessage>使ったらうまいことHttpClientをジャックすることができたぽい
744 名前:デフォルトの名無しさん [2015/06/16(火) 22:05:41.35 ID:P66hsbhM.net] MVCで、コントローラ側での処理の正否を ビュー側でメッセージ出力するため、 苦し紛れにViewBagをフラグ代わりに使ったのですが、 アンチパターンをしている気がしてなりません。 もっと王道的なやり方はあるでしょうか? @if(ViewBag.Flag){ <script type="text/javascript"> $(function () { メッセージ出力処理 }; }); </script> } よろしくお願いします。
745 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 22:22:55.39 ID:y+ZRno0+.net] >>721 flash messageってやつだな リダイレクトを挟む場合が多いからそのままビューに返すんじゃなくてCookieに突っ込め
746 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 07:12:44.06 ID:/9CY7bHI.net] >Cookieに突っ込め HTTPの仕組みぐらい理解しろ
747 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 07:19:59.36 ID:F0xlXNRF.net] >>723 一時的なメッセージにcookieを使うのは普通にあるぞ もしくはセッション使う
748 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 07:29:54.96 ID:83TxfKRo.net] そもそもHTTPの仕組みと何の関係が
749 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 16:14:47.37 ID:yetVKz/D.net] こんな簡単なのでうまいこと非同期で動くのか? qa.atmarkit.co.jp/q/9443
750 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 01:52:24.13 ID:8P85rytq.net] プログラミング始めようと練習問題やってて これは難解な問題だぞ・・・と複雑に作っちゃって悩みまくってやっとできたと思って答えみたらクソ単純だったこの怒りをどうすればいいですか
751 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 06:01:23.61 ID:Zk4Vy/pu.net] ネンネしな
752 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 06:31:34.35 ID:luyYzeTf.net] >>727 そこでこんなに簡素化できるんだと喜べないなら向いてない
753 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 06:44:55.44 ID:/ecUlEFr.net] tooltipの最大横幅設定ってないの? わからなかったから、TTM_GETMAXTIPWIDTH送ろうと思ってHWND取得しようとしたら公開されてないみたいだし
754 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 07:52:23.63 ID:MLPf1LVb.net] Handleプロパティがinternalなんでリフレクションで取得だな
755 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 08:06:44.22 ID:SQas+mXZ.net] >>730 試す気ないけど行けそうな気がする https://msdn.microsoft.com/ja-jp/library/system.windows.forms.popupeventargs(v=vs.110).aspx ToolTipSizeプロパティ
756 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 08:29:08.45 ID:/ecUlEFr.net] >732 Popupでリサイズすると表示位置も変更しなきゃならないみたい コントロールのMouseEnterで、tooltipのShowメゾットを実行して、位置指定で表示できたんだけど、 ShowAlwaysをtrueにしてても、アクティブウインドウにしてないとtooltipを表示してくれない・・・ MouseEnterはアクティブでなくても動くんだけど、Showメゾットは動いてくれない? ShowAlwaysはSetToolTipで関連付けた時だけ有効なのかな? >731 MFCの6.0しか触ったことない超初心者なので、まったく意味不明な単語なんだけど、 ググッて調べてみます
757 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 08:48:48.18 ID:SQas+mXZ.net] なかなか難儀なものだ
758 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 09:00:12.23 ID:MLPf1LVb.net] ここらのコードみれば何やってるか分かるから referencesource.microsoft.com/#System.Windows.Forms/winforms/Managed/System/WinForms/ToolTip.cs,f38ab504e7bae391 リフレクションで取得なら var hwnd = (IntPtr)typeof( ToolTip ).GetProperty( "Handle", BindingFlags.NonPublic | BindingFlags.Instance ).GetValue( toolTip, null );
759 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 02:26:32.06 ID:e7ddVa/R.net]
760 名前:C#では、このような事は出来ないのでしょうか? if (mode == 1) { System.Windows.Forms.Button[] objs; objs = new System.Windows.Forms.Button[len]; } else { System.Windows.Forms.TextBox[] objs; objs = new System.Windows.Forms.TextBox[len]; } [] [ここ壊れてます]
761 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 03:15:04.92 ID:TkbfpMuS.net] できますよ。
762 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 07:50:23.16 ID:e7ddVa/R.net] >>737 objsを使おうとすると、エラーになります。 やはり、c#ではこういった動的な割り当ては無理のようですね・・・
763 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 08:05:01.44 ID:CxQBllDu.net] プログラミング向いてなさすぎて草
764 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 08:21:34.61 ID:YVDfker6.net] 順序立てで物事を進められない人間は何にも向いてない
765 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 09:01:27.03 ID:yHcBqTMw.net] 出来ない事を出来ると言い張るよりはマシでしょうけどね。 その程度ならc#知らない偽物でも出来ますから。
766 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 09:05:32.96 ID:PbyfPj3O.net] >>741 煽って回答を引き出そうとする古典的手法ですね
767 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 09:06:00.47 ID:w3qLtTPG.net] おいおい真性か? …外に出さないからこうなるんですよ 避妊の話ですよ、もちろん 教育にコストが掛けられない家庭が子供を産むから 馬鹿の再生産が止まらないんですね
768 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 09:16:06.74 ID:Rpgf6TLH.net] そうだな外に出すべきだったな。 スコープってプログラミング入門だとどの辺に来るかな。 変数ステートメント制御構造ブロックの次くらいか。
769 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 13:30:34.71 ID:OM/mL1R2.net] Console.WriteLine("{0}unko{1}oshikko", oshiri, tinko); こうだったり Console.WriteLine(oshiri + "unko" + tinko + "oshikko"); こんなだったり解説サイトにとって違いますけどどっちが一般的とかあるんですか? 好みの問題?
770 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 13:55:39.70 ID:pkAyx7dR.net] どっちでもいい 現実には書式指定が必要で前者しか使えないケースが多いから、統一するために常に前者を使う人もいるし 後者で十分なのに重い処理が走るのが気持ち悪いからとか分かりやすいからとかで後者が好きな人もいる
771 名前:デフォルトの名無しさん [2015/06/19(金) 13:56:50.97 ID:iLnBptiu.net] 文字列の中に {0} とか入ってない前提?
772 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 15:17:35.89 ID:0hBKkSHT.net] @ if(flag == 1) A if(1 == flag) どっちがいいとかありますか?
773 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 15:26:10.71 ID:CxQBllDu.net] @がいい
774 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 15:46:44.67 ID:a3/nS/y/.net] 俺は1だが、=が足りなくてバグることあるからとかで2にしろってとこもあんな
775 名前:デフォルトの名無しさん [2015/06/19(金) 15:48:59.15 ID:iLnBptiu.net] =が足りなくてって、、C#だぞ、、、 読んで自然な方で
776 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 15:57:58.99 ID:Kz33B61u.net] >>748 @一択ですね。
777 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 16:08:36.21 ID:UZ90C/fG.net] flagならbool型にしろ bool型にできないならflagなんて名前つけるな って言うところじゃないの?
778 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 17:55:12.81 ID:aR5XXTpt.net] AはCやる人が良くやるけどC#では用無しだよ、警告ですらない この文は型不一致エラーだから
779 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 17:59:21.88 ID:e+GzY/Uc.net] 『1==flag』 この書き方をする低能は自分が今までやってきたこと以外は受け入れ不能だなら 用無しなどと言っても無駄。 「ボクは今までこうしてきた」 これが低能の全て
780 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 18:01:04.33 ID:7lvdbQLv.net] 俺のflagは108式まであるで
781 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 18:03:16.40 ID:bQ8ksHOB.net] >>748 俺だっら bool isE
782 名前:qual_Ichi(int Flag) っていう関数作るわ。 [] [ここ壊れてます]
783 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 18:19:49.79 ID:r/i/iowz.net] >>755 自分で自分のことを書いてることに気付きもしないあんたもどうかと思うけどねw
784 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 18:40:00.84 ID:iLnBptiu.net] >>756 国コード入れて国旗の種類で使うとかねw
785 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 19:08:38.00 ID:0hBKkSHT.net] Cやってきた人がAの書き方をしています Aでも動くじゃないですか、何でダメなんですか と言う相手を説得して@にさせるには、どういう論法で言えばいいですか?
786 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 19:27:58.72 ID:AG39fnfm.net] わずかでも合理性がある限り説得は無意味 ルールで強制させるのみ
787 名前:デフォルトの名無しさん [2015/06/19(金) 19:28:02.10 ID:pnFSsBPf.net] 別に2でもよくね。理由があれば。 まあ、2の場面思い浮かばんけど。
788 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 19:28:28.86 ID:r/i/iowz.net] >>760 別に説得する必要なんかない。 どっちでも同じだから。 確かにC#で(2)に固執するのもアホだが、それを言うなら(1)に固執するのも同じアホ。
789 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 19:32:49.13 ID:yksfiqHC.net] 同じアホでもC#でも2にするべきだってひとと1にするべきだってひとはアホの向く方向が違うから
790 名前:デフォルトの名無しさん [2015/06/19(金) 19:34:40.95 ID:pnFSsBPf.net] どっちでも同じなら、1でも2でもいいし、ルールを強制しようがしまいがどうでもいい。 つまり、どうでもいい。
791 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 19:58:20.07 ID:aR5XXTpt.net] 用がない場合はルールを強制するのは愚行 ルールは必要最低限が鉄則
792 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 22:00:29.58 ID:PbyfPj3O.net] でもそういうアホが集まってるところではルールで縛ったほうが安全かも
793 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 22:03:17.96 ID:7aVYy04Z.net] そういうところではAはNGなのに丸コピぺはレビューでスルーされるという現象がよく見られる 形式的なルールで縛ろうとするのは上が無能で本質を理解していないことによる場合が多い
794 名前:デフォルトの名無しさん [2015/06/19(金) 22:20:43.34 ID:pnFSsBPf.net] ルールを最低限にするのなら、ルールを最低限にするなどというルールを設けるんじゃない。早速矛盾してんだよ。
795 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 22:35:53.66 ID:8vlDffY6.net] >>769 駄レス
796 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 00:30:15.86 ID:yM1kMDKK.net] もしflgが1ならって思考に合わせた書き方をしたほうがいいに決まってる もし1とflgが同じならなんて思考するやつはどこかおかしい
797 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 00:31:30.88 ID:P+7QrmPi.net] 2はコーディング規約としてはありがちだな 間違って=にした時に代入が出来なくてコンパイルエラーで検出出来るから。
798 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 00:32:56.84 ID:qQ/qlsDi.net] >>771 低能は意味を考えないから おかしいと感じないらしい
799 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 00:33:02.36 ID:P+7QrmPi.net] おっとC#スレだったw >>772 はC言語の話しなww
800 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 00:37:17.22 ID:SQF/c2YL.net] >>771 >>773 言っちゃ悪いけど、それは「ボキュは演算子の交換法則なんて知りません」って語るに落ちてるだけ。 ばっかじゃねえの本当。 恥ずかしげもなくむしろドヤ顔で勝ち誇ったように間抜けなことを言ってるんだから笑える
801 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 00:41:07.20 ID:qQ/qlsDi.net] ↑文脈とか意味を考えない低能の典型例 読みにくいだろ低能め
802 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 00:52:25.05 ID:yM1kMDKK.net] とりあえず?で書くやつはバグが多すぎる
803 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 02:34:42.39 ID:6sbS7y/z.net] func1(){ … return {1,2,3}; } var a=func1(); var b=a[0]; var c=a[1]; var d=a[2]; とかかな?
804 名前:デフォルトの名無しさん [2015/06/20(土) 15:00:31.13 ID:XTWPFSca.net] CとC#が同じ高級言語で括られるのは違和感があるので
805 名前:すが、 第○世代言語とか呼び方はあるのでしょうか? [] [ここ壊れてます]
806 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 15:36:18.37 ID:s+YE9WtJ.net] ありません
807 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 16:24:23.17 ID:P+7QrmPi.net] Cが構造化言語、C#がオブジェクト指向言語ぐらいかな
808 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 18:58:22.36 ID:hdd6Iv+Z.net] >>779 c言語は高級言語じゃないだろ。アセンブリ言語と高級言語の間くらいの言語だと思う。
809 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 19:02:41.29 ID:tDc6RR32.net] 一般的には高級言語だよ。この単語自体もう時代遅れでどうでもいい分類だがw ttp://www.weblio.jp/content/%E9%AB%98%E7%B4%9A%E8%A8%80%E8%AA%9E ttp://wiki.ju.edu.jo/ja/articles/%E9%AB%98/%E7%B4%9A/%E8%A8%80/%E9%AB%98%E7%B4%9A%E8%A8%80%E8%AA%9E.html
810 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 19:36:29.11 ID:YQlfkZgo.net] C言語が生まれた当時なら最先端の高級言語だなw 時代と共に古くなって、今や高級とは言いづらいけど
811 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 20:14:40.77 ID:74rB06rU.net] >>784 言語の古さと、高級言語かどうかは全然別の話でしょ Cより古いものにも、FORTRANとかCOBOLとかPascalといった 高級言語があったわけだから
812 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 20:46:40.54 ID:KZdkN3xz.net] 最近は高級言語なんて死後に近いから、高級言語の本来の意味を知ってるのは 俺みたいなオジサンだけかもしれないね。 高級言語の「高級」はA級戦犯とかと同じで別にグレードが高いって意味じゃないのよw
813 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 20:47:56.56 ID:K7xzi7Ex.net] 性癖 悩ましい 敷居が高い 高級言語 ←new
814 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 22:20:48.72 ID:xyJjBRvk.net] 英wikipedia見てたら超高水準言語という区分があった
815 名前:デフォルトの名無しさん [2015/06/20(土) 23:29:40.23 ID:XTWPFSca.net] >>783 >代表的な高級言語の種類としては、BASIC、FORTRAN、COBOL、C言語、C++、Java、Pascal、Lisp、Prolog、Smalltalkなどがある。 やはり、CとJAVAが同じ括りというのは、少し乱暴な気がします。 IT関係では、誰も気にしないんでしょうかねぇ。。。
816 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 23:44:44.79 ID:9Ukvdsb1.net] そんな括りなんてどうでもいいと思うんだが 使わなきゃならない時にはそんな括りなんて何の意味も持ってないんだから
817 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 23:55:28.97 ID:fYXXUti6.net] >>789 は、そこで上げた言語だと、どの言語が同じ括りになると思うの?
818 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 00:44:13.38 ID:LtTYOS1I.net] >>789 気にするのは大学生だけだよ 職場じゃそれ使って何ができるかの方が重要
819 名前:デフォルトの名無しさん [2015/06/21(日) 00:56:02.48 ID:oygMyh8G.net] C#やJAVAのようなモダンな言語は、オブジェクト指向を採用していて ジェネリックやラムダみたいなモダンな仕組があるのに対し、 制御で使われるような無印Cが、同じ高級言語扱いというのが 気になりまして。 世代がかなり違うんじゃないかなと思うんですよ。 まあ、実害なんて何も無いんでしょうけど。。。
820 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 01:00:01.67 ID:8J8Zrkqm.net] >>789 だから高級って言葉の語感に引きずられるからそうなる。 だから死後だって言ってるじゃん。
821 名前:デフォルトの名無しさん [2015/06/21(日) 01:16:47.05 ID:oygMyh8G.net] もう、高級言語なんて言葉は使わないんですね。 情報処理技術者試験の勉強で覚えたのですが、 情報古いよって感じですね。 5000円払って、古い話題を必死に覚えるとか、 勉強のモチベーションが下がりますね。
822 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 01:22:39.36 ID:8J8Zrkqm.net] 勉強とか言ってる割に高級言語って言葉の本来の意味を確認はしないのねw
823 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 01:26:19.30 ID:xl4g4Hja.net] アセンブリ言語は高級言語? マシン語だけが低級言語だよね?
824 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 03
] [ここ壊れてます]
825 名前::59:16.75 ID:0g6EdVmv.net mailto: 低脳には関係ないから安心して寝なさい [] [ここ壊れてます]
826 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 04:25:32.56 ID:Y9sFMHSn.net] BitConverter.ToInt32(bytes, 0); とすればバイト配列は整数に変換できますけど 配列ではなくバイト1つを整数に変換するにはどうするんですか?
827 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 06:43:11.87 ID:mTVvjbYS.net] Oh... int i = (int)b;
828 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 06:46:12.05 ID:0VYCqu5Y.net] >>799 キャスト
829 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 07:20:02.94 ID:EnXta+1+.net] >>793 高級言語と低級言語の2択で分けるとアセンブリ言語ととマシン語以外は高級言語の範疇だから 無印c言語は高級言語だね。
830 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 09:53:22.86 ID:xl4g4Hja.net] 論理回路とアセンブリ言語とC言語はやっておかないと プログラミングできるとは言えないと思う
831 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 11:05:19.79 ID:faNvk/Nn.net] include <stdio.h> int main (void){ int a=0,b=0; scanf ("%d",&a); scanf ("%d",&b); If ( a==b ) printf ("2つの数値はおなじです\n"); else if ( a>b) printf("一つ目のほうが大きいね\n"); else printf("2つ目のほうが大きいね\n"); return 0; } というプログラムなんですが2つめのscanfが入力待ちになりません
832 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 11:07:57.76 ID:LtTYOS1I.net] ID:xl4g4Hja 低級かまってちゃん
833 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 11:35:35.74 ID:EnXta+1+.net] >>804 scanf ("%d%d", &a, &b);
834 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 11:37:15.21 ID:0VYCqu5Y.net] >>804 スレ違い ここはC#言語のスレ、それはC言語
835 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 11:29:32.98 ID:UwfP1xrU.net] ま、改行が入ってそれ捨てない限り無限待ちだな
836 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 12:05:53.87 ID:y0tN2zKc.net] 論理回路とアセンブリ言語とC言語やってないプログラマがクソほどいる件
837 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 12:19:07.33 ID:+krrUuSd.net] >>809 論理回路? ブール代数だろ
838 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 12:22:30.22 ID:PGSQ0zuB.net] 何だよブール代数ってw 論理回路は論理回路だろw Cはともかくアセンブリとかカルノー図書いて論理圧縮とか 今時普通のプログラマにはまず要らん無駄知識だとは思うが、 さすがに言われてそれが何か知らないのはかなり恥ずかしいレベルだなw
839 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 12:23:42.09 ID:NbAxzy03.net] どうしたオッサン。 午前中のミーティングで若手に虐められてこんなとこで愚痴ってんの? 死ねよ、今すぐ
840 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 12:30:05.89 ID:PGSQ0zuB.net] >>812 精神分析学で言う」「投影」のいいサンプルだねおたくw
841 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 12:53:12.43 ID:+krrUuSd.net] >>811 プログラミングに必要なのは納戸じゃなくてブール代数だろ
842 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 13:05:30.79 ID:i7SsAXTs.net] あー、昔はブール代数って言わなかったのよ
843 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 14:29:24.68 ID:etNNMvNi.net] >>814 そもそもブール代数って高校の数Iだろw 必用とか必用でないとかそういうレベルかよw
844 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 14:53:48.18 ID:ytIOVG8W.net] アセンブリ言語アレルギー多すぎw やってみればC#より簡単なことがわかるのに
845 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 15:00:27.86 ID:zYgzAJ7h.net] アセンブラはデバッグでハマった時にC#など目じゃない悲惨さが待っています
846 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 15:11:27.95 ID:+krrUuSd.net] >>817 c#のジェネリックリストをアセンブラで実装してくれ
847 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 15:30:57.40 ID:0p5/VSpX.net] それは、既に実装されているのでわ?でないと、そもそも動いてないと思う>ジェネリックリスト
848 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 16:50:46.39 ID:+krrUuSd.net] >>820 低水準言語にそんなものを期待されても
849 名前:デフォルトの名無しさん [2015/06/22(月) 19:27:41.51 ID:E8VLkWhf.net] 質問です 以下のようにnamespace
850 名前:に$rootnamespace$と指定してあるソースを見たのですが、 自分のプロジェクトで同じように指定してもエラーになります これはどうやって設定すればいいのですか? ↓ namespace $rootnamespace$ { .... } [] [ここ壊れてます]
851 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 19:45:14.31 ID:tbUBo/lz.net] 置換用のプレースホルダだろう ビルドの時にスクリプトで置換したりするんじゃね C#はドルマーク使わないからね
852 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 19:45:33.78 ID:74RPk8kg.net] >>822 それ、コードスニペット(のソース)じゃないの?w
853 名前:デフォルトの名無しさん [2015/06/22(月) 20:32:05.98 ID:E8VLkWhf.net] >>823-824 普通に使用できるものではないんですね ありがとうございました
854 名前:デフォルトの名無しさん [2015/06/22(月) 22:33:37.30 ID:kX4NZqJx.net] .NETはC#一本で良いんじゃないかと思うのですが、 VB.NETを切らない理由は何なのでしょうか?
855 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 22:37:12.91 ID:LnmegFLf.net] >>826 vb.netの方がシェアが多いから
856 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 22:39:33.29 ID:tbUBo/lz.net] VB.NETを切ったりしたら大量の自殺者が出るだろ 社会正義のためだよ
857 名前:デフォルトの名無しさん [2015/06/22(月) 22:43:14.43 ID:kX4NZqJx.net] VB.NETをやっている人間が、 VB無くなったらJAVAやると言っていたのですが、 VB使いの時点で、C#やるしか無いだろうなと思いました。
858 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 22:46:32.05 ID:tbUBo/lz.net] ドカタワールドなら技術的な部分はノウハウ(笑)をコピペするだけだから .NETとJavaの違いなんて大して問題にならんのよ
859 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 22:49:24.32 ID:kDeJuTTl.net] うちの会社、俺がVB.NETからC#への移行を提案したけど コードの移植が面倒だとか読めないだとか色々言われて結局VB.NETのままだよ まぢ死んで欲しい
860 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 23:36:15.28 ID:uXQtn42r.net] javaは甘くねえよなあ OracleはMSみたいにおシモの世話なんかしない
861 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 23:38:32.00 ID:uXQtn42r.net] たぶんMavenとかGradleのエラーが解決できなくて途方に暮れると思うんですけど(名推理)
862 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 07:46:08.06 ID:LhhNEn7L.net] >>832 JavaFXの現状見ればそれがよくわかる。 しょせんDB屋。アプリケーション類はゴミ。
863 名前:デフォルトの名無しさん [2015/06/23(火) 07:49:00.71 ID:U2+OnFmB.net] >>831 おめーが死ねってw 実際、c#移行したって使えねーんじゃ論外だろ。まず、現実見ろよ。
864 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 07:56:53.71 ID:LhhNEn7L.net] >>831 会社としてはおまえが氏ねって思ってるよ。 それと、お前のその行為、間違いなく査定に引っかかってるから覚悟して おけよ。 非常に身勝手な提案として認識されてるから。言語を変えるなんておまえ のような三下が提起することじゃねぇんだよ。三流プログラマー君。
865 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 07:58:12.61 ID:7ayUCnwb.net] マ板でやれ
866 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 08:06:23.29 ID:rzZlb/rV.net] 朝から元気だな
867 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 11:48:09.08 ID:9zw4MnHg.net] 会社選ぶときに主要言語を調べて入らないとこうなるんだな笑
868 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 13:23:49.18 ID:5RwnSh85.net] 社畜自慢はマ板でやれよ
869 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 15:31:00.12 ID:8ljnnXhY.net] 無職がマ板に行けるとでも?
870 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 22:14:19.04 ID:NJre/ebQ.net] C#が仕事でかける職場は少ないけどな。自社製品主力かつスクラップ&ビルドが主流で、社内ツール作るかwindowアプリケーション作らないとC#は選択肢にならない
871 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 22:20:07.95 ID:iTFSMqDv.net] ごめんね、それ以外でC# 仕事で使ってて
872 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 22:28:15.90 ID:26
] [ここ壊れてます]
873 名前:y4Wu4y.net mailto: >>842 今時社内でもウェブアプリが主流ですよ。 C#なんて要らんわ [] [ここ壊れてます]
874 名前:デフォルトの名無しさん [2015/06/23(火) 22:34:56.55 ID:tJjJE4PL.net] OS別 アプリ開発言語 iOS = objective-c おおー Android = JAVA いいねー Windows = VB.NET へこーーーーーーーー 斜陽のMSらしいヘボ言語だよね。 C#なら、こんな負い目感じなかっただろうに。。。
875 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 22:39:28.60 ID:0NuC1wwg.net] >>845 少なくともjavaよりvbの方がだいぶましw vbはコ冗長になるけど(特にラムダとか酷い)出来ることはC#とそう違わないし っていうか、10年前ならともかく今あえてC#じゃなくてVBを選択してる企業は なかなかないと思うが
876 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 01:42:38.39 ID:q52g9Sr7.net] ストラテジーパターンのメリットが分かりません
877 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 02:03:16.33 ID:x8P9P79s.net] https://github.com/TakahashiShuuhei/DesignPatternPractice/blob/master/Strategy.cpp#L42 こういうのどうよ これはC++だけど関数ポインタをdelegateで書いたりActionで書いたりする
878 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 15:02:35.40 ID:zRV+32S/.net] >>831 教育と移行にかかる工数とスケジュール表を稟議書にまとめて提出しろ ダメでも評価は上がるべ
879 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 15:59:30.08 ID:RTg8LFF8.net] 混ぜちゃえ
880 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 16:11:52.31 ID:NHniIMjV.net] 俺も混在でいいと思うけど そのうちVBしかダメなやつ以外はC#に移行するだろ
881 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 17:06:57.61 ID:vFKyrOSk.net] VB独自の機能使われるとC#のプロジェクトから参照した時に いろいろ困ったことが起こるんだったような
882 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 17:30:33.90 ID:NVaEfsnd.net] VB独自の機能…?あったっけ?.netになってから?
883 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 18:06:37.53 ID:no9AmW7J.net] それに関しては多分CLSCompliantAttribute付けとけば警告してくれるんだよね?
884 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 18:28:20.96 ID:sRqUdszq.net] >>853 引数付きプロパティとか。 名前付き引数もたぶんC#と微妙に違う。 場合によってはオーバーロードの解決法の違いも問題になるかも。 あとインターフェイス関係が結構違う。
885 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 19:44:50.16 ID:RTg8LFF8.net] VB.NETでインターフェースを使ってるの見たことがない
886 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 03:30:46.63 ID:pZAotZeg.net] 今はオプション引数も対応してるし 困る事といえばVB.NET側の修正やらされる時くらいかな C#に戻った時に、ついDimと書いてしまう
887 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 08:24:31.88 ID:XFqbgY05.net] VBからC#を参照すると、refまたはoutでオーバーロードしてるメソッドが困ったことになるのは知ってる
888 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 21:11:36.76 ID:TDcnlZ9r.net] そんなVB以下の糞を垂れ流す奴が悪い
889 名前:デフォルトの名無しさん [2015/06/25(木) 22:12:13.25 ID:RTWId8Mi.net] >そんなVB以下の糞を垂れ流す奴が悪い どういう理由でアンチパターンなのでしょうか? 後学のために教えてください。
890 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 22:37:06.83 ID:U7g+0mTH.net] >>857 俺もつい varって書いちまうわ
891 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 16:13:21.68 ID:U7E4+CJP.net] >>738 理由は分からんが、実際エラーになるね。
892 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 16:50:56.90 ID:Z3cTZ1J0.net] >>862 そんな演技してまで答えて欲しいのか?ゴミw
893 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 18:05:59.07 ID:l3ThfphX.net] これは酷いwww
894 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 22:21:39.88 ID:oMjJ
] [ここ壊れてます]
895 名前:ITJg.net mailto: 最初は煽ってたけど、居付かれて地縛霊になったら困るだろ…… Control[] objs; // ←Controlの配列にしておく。ButtonもTextBoxもControlを継承しているの if (mode == 1) { objs = new System.Windows.Forms.Button[len]; } else { objs = new System.Windows.Forms.TextBox[len]; } [] [ここ壊れてます]
896 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 22:24:28.29 ID:OIUfWa0r.net] スクリプト言語使いはスコープの概念を知らないか…
897 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 22:33:04.77 ID:jWa9J4oZ.net] 配列の共変性を使うのはお勧めしないな Javaの負の遺産みたいなもんだ >>865 だと結局後で型チェック&ダウンキャストをしない限りは わざわざ配列の型を作り分ける意味がないわけだし
898 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 04:21:47.51 ID:o3dT3qrp.net] ここまで丁寧に教えてもらったなら、もう大丈夫だろう
899 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 04:43:08.62 ID:6yK3ftLr.net] 元の質問者は、型のシステムが理解できてないのか、スコープが理解できてないのかわからん たぶん両方理解できてないんだろうけど
900 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 07:38:59.62 ID:iDD3CLpV.net] >>867 もともと同じ変数に入れようとしてるわけだし、それは込みじゃね? それになんかオブジェクト指向してる気がして楽しいだろ 初学者には楽しさも必要
901 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 07:39:37.05 ID:iDD3CLpV.net] あーそれともダックタイピングを無意識に要求していたのかな
902 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 17:08:22.40 ID:R5WbdKN1.net] int[] i = {1, 2} という配列があるとして、i[0]をa変数に、i[1]をb変数に入れるのをスマートに行う方法はないでしょうか? Pythonであれば a, b = i のようにできることをやりたいです。 今は int a = i[0] int b = i[1] としているのですが、もっとスマートにする方法はないかと考えています。
903 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 17:10:53.30 ID:xbG7ljXN.net] ない C#はスクリプト言語ではないので、そういうタプル的な値を扱うときは ちゃんとクラスを定義して使うのが普通
904 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 17:14:17.28 ID:xbG7ljXN.net] ちなみにクラスを定義する簡単な方法としては、 var i = new { a = 1, b = 2 }; (使うときは Console.WriteLine(i.a)のようにする) のように書ける匿名型という機能がある System.Tupleなんてのもあるが言語でサポートされてる訳じゃないのでお勧めしない
905 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 17:34:09.37 ID:R5WbdKN1.net] ありがとうございます。 そのiは実際にはReadLineで読み込んだ文字列をSplitしてintに変換したような配列になります。 なので、その配列に代入されているとインデクサでアクセスする必要が有るため、わかりやすい変数名をスマートに付けれる方法がないかと思っていました。 C#を勉強し始めたところでまだまだルールがわからず、スクリプト言語の考えを前提に持ってしまっているのかもしれません。 ありがとうございました。
906 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 21:23:40.36 ID:n+6r1LD8.net] >var i = new { a = 1, b = 2 }; 初心者ですがこれはじめて知った 無名関数は知ってたけど、これは便利だな
907 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 03:54:38.43 ID:w++X9/Nf.net] 2次元配列をforeachで回すのはどうすればよいのでしょう 以下はエラーが出てしまいます int[,] cards = new int[100,2]; foreach (int[,] card in cards)
908 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 04:10:59.08 ID:x/T4p/ZN.net] foreachを多次元配列に対して使うとSelectMany()メソッドみたいに平坦化してしまうから 気になるなら普通にfor文を使った方がいい int[,] cards = new int[100, 2]; foreach (var card2 in cards) { Console.Write(card2 + " "); } Console.WriteLine();
909 名前:デフォルトの名無しさん [2015/06/29(月) 23:24:49.10 ID:bidzkCNd.net] こんばんは。 教えてください VSでwebサイトを作っています。 SQLにある温度計データを引っ張ってきてグラフ
910 名前:化して 推移を見ています。 Chartとデータソースを使用していて問題なかったのですが、 過去分のデータが見たいなと思ったとき今のやり方では見れません。 (データソースの構成で最新100件でグラフにしています。) そこで、ドロップダウンリストから年月を指定して その中で100件のデータを引っ張りグラフ化したいです。 分からない点としては、正直、全部なのですが SQLサーバーにdate(例:2015/06/29/23:00:00)temp(例:20.2) とある場合はドロップダウンリストで年月を選択する方法がわかりません。 SQLサーバーに上のような形式で入っている時点で 年月のみ抽出というのは不可能なのでしょうか? SQL言語の質問かもしれませんが きっとクラスを作成するだろうと思い こちらに記入しました。 どなたか知恵をお貸しください。 よろしくお願いします。 [] [ここ壊れてます]
911 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 23:49:23.72 ID:lRRDyv15.net] 株価のチャートを自作したいす
912 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 00:05:34.96 ID:LiiqQaQT.net] >>879 SELECT date, temp FROM お前の表 WHERE ? <= date AND date <= ? LIMIT 100 ?にはそれぞれ開始日時と終了日時をバインドする
913 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 02:36:45.32 ID:RyZIYf8u.net] between、、、
914 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 02:49:11.94 ID:9tUPOc+y.net] null許容型(int?とか)ってあまり?使わない方が良いって聞いたんですが、なぜですか?
915 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 03:25:56.90 ID:AoMT9Nrc.net] データベース以外でってこと?
916 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 03:58:23.92 ID:9tUPOc+y.net] すみません、あやふやなんですが何かの掲示板(多分2ch)で 結構前に「null許容型はやめろ(クソ)」的なレスが結構続いてたので、聞いてみました 逆にデータベースでは、例えばBooleanならtrueとfalse以外「値が未設定」を表現するために nullを使うと思いますが、そういう用途ではOK(問題ない)という事ですか? また、逆に問題が出る使用例があれば教えて下さい。
917 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 04:24:21.76 ID:AoMT9Nrc.net] >>885 ここ読んでさらに疑問があれば質問すれば https://code.msdn.microsoft.com/windowsdesktop/7-null-null-null-48ae7f82 むやみに使うのではなく使うことで可読性が良くなりバグも減るなら使えばって感じのこと書いてある
918 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 04:35:41.24 ID:AoMT9Nrc.net] データベースでNULLを排除したコードを書くのは非現実的だとも書いてある
919 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 04:55:25.65 ID:9tUPOc+y.net] >>886 ありがとうございます
920 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 08:39:43.88 ID:6xoEPUUH.net] >>881 convertでyymmにして拾うのとどっちが早いんでしょう C#じゃないけど
921 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 15:26:37.90 ID:Sta9LMr5.net] WebでSQLを使うときはSQLインジェクションが起こらないように注意して作らんとな
922 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 13:39:30.86 ID:kfPim06m.net] WPFでボタンをクリックするとウェブページを非同期で取得するプログラムを 書いたのですが 自作ライブラリ内でこのように記述するとtask.Wait();でGUIが応答しなくなります var task=GetWebPageAsync(webUri); task.Wait(); string htmlText = task.Result ; 処理を追ってみるとGetWebPageAsyncメソッド内の下記の部分のあと GUIが表示され処理が中断されるみたいです HttpResponseMessage res = await client.GetAsync(uri);
923 名前:理由がよくわからないまま string htmlText= await GetWebPageAsync(webUri); と書き直すと処理が実行されました 何が問題なのでしょうか [] [ここ壊れてます]
924 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 13:55:31.70 ID:lMyegDBc.net] >task.Wait(); >string htmlText = task.Result ; ここでバリバリ終了を待ってるじゃん。バリバリ。
925 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 13:59:45.12 ID:kfPim06m.net] もう一つわからないのが>>891 で取得したデータを HogeItemsに設定してListBoxにバインドしているのですが ListBoxに表示されません ページの取得とプロパティの値に設定は出来ています MVVMフレームワークとしてPrismを使用してます <ListBox ItemsSource="{Binding HogeItems}" Height="500"> <ListBox.ItemTemplate> <DataTemplate> <TextBlock Text="{Binding Title}"/> </DataTemplate> </ListBox.ItemTemplate> </ListBox> コンストラクタ内 SearchCommand = new DelegateCommand(() => {HogeSearch();}); private async void HogeSearch(){ var list = await Hoge.SearchAsync(); this.HogeItems = new ObservableCollection<HogeItem>(list);}
926 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 14:22:19.59 ID:kfPim06m.net] >>892 それが下記サイトを参考にコンソールアプリで作っていたときは 問題なくタスク完了したのですが WPFで利用するとGUIがフリーズしてタスクが完了しません フリーズするだけならわかりますが、タスクが完了しないのがなぜなのかわかりません .NET TIPS:Html Agility Packを使ってWebページをスクレイピングするには?[C#、VB] - @IT www.atmarkit.co.jp/ait/articles/1501/27/news140.html .NET TIPS:HttpClientクラスでWebページを取得するには?[C#、VB] - @IT www.atmarkit.co.jp/ait/articles/1501/06/news086.html 上のページから抜粋 webTask.Wait(); // Mainメソッドではawaitできないので、処理が完了するまで待機する
927 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 14:30:33.50 ID:LLinkmjy.net] HogeItemsプロパティの変更通知はちゃんとしてるのか?
928 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 15:38:30.48 ID:kfPim06m.net] HogeItemのプロパティに変更通知を設定しないとだめだったんですね ObservableCollectionに入れれば必要ないと思ってました
929 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 19:48:54.41 ID:DTddCrxB.net] >>891 コンソールアプリとwpfみたいなguiアプリではTaskの実行コンテキストが違うからってのがあるかな。 メインでResultを受け取るには、awaitの後にConfigureAwait(false)が必要。 var ret = await Abc().ConfigureAwait(false); 別のやり方としては、WaitとかResultで受け取らず、ContinueWithで以降の処理を囲むという手もある。 まあ、この方法はイベントハンドラの中の改変量が多くなるけど c# Task 実行コンテキスト 辺りの言葉で探してみるといいよ
930 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 20:12:55.47 ID:cqLm13Og.net] 知ってると思うけどasync/awaitを使う関数はTaskもしくはTask<T>を返さないといかんよ
931 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 20:52:29.17 ID:+trI441A.net] >メインでResultを受け取るには、awaitの後にConfigureAwait(false)が必要。 何言ってるんだこのばかは
932 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 21:47:59.99 ID:lMyegDBc.net] つまりスレの総意としては、「初心者にasync/awaitを触らすな」でおkだな
933 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 21:55:16.01 ID:TcFd+yBB.net] >>898 正確には「イベント処理だけはvoidでそれ以外はTask/Task<T>を返すべき」って事だな neue.cc/2013/10/10_429.html ここに async void がまずい理由がうまくまとめられてる あと stackoverflow.com/questions/14177891/can-somebody-please-explain-async-await こういう所を読めばasync/awaitの意味が直感的に理解できるだろ 最初からUIせずにまずコンソール画面
934 名前:で遊んでみるといいと思う [] [ここ壊れてます]
935 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:05:16.30 ID:8z426iG1.net] そもそも結果を返さない非同期処理は避けるべきだろ Taskで副作用やると簡単にスパゲッティの出来上がり
936 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:10:43.83 ID:TcFd+yBB.net] だな 永久ループのTaskとか誰得
937 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:20:52.29 ID:/J4bS24z.net] 今までWeb系とかやったことなくてASP.NET MVC5実践プログラミングっての買って触ってみてるんだけど、 新しいWebサイト追加したらファイルがものすごい数できてワロタ・・・みんなこれをすいすい使えるとかすげえな・・・
938 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:34:28.57 ID:XZhIE+dJ.net] 大丈夫 ほとんどのドカタは理解せずに使ってるだけ
939 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:37:28.27 ID:jqzDD9Cy.net] 拡張子aspxで(特に速度面で)まともなサービスを見たことがない 理解せずにドカタが使ってるという指摘は恐らく正しいのだろう
940 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:40:59.12 ID:/J4bS24z.net] まじか。まあ自分も触って2日目だから諦めずに進めるよ。がんばって一流の土方になるよ
941 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:41:40.43 ID:8z426iG1.net] Webなんか所詮来たリクエストに文字列返すだけやで
942 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:43:07.86 ID:G2Z5fyBt.net] ASP.NET MVCは.aspxより体感で10倍ぐらい遅い。 ログインページとかのチンケなビューを表示させるだけで 相当な処理時間を要する。
943 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:50:54.07 ID:/J4bS24z.net] aspxっていうのはweb Formsっていう認識であってます? ネットで調べたときはMVCが主流とあったので、先攻してMVCをやってるんだけど、 まだ結構業務とかでは使われてるものですかね? 一応赤間信幸さんのWebアプリケーション構築技法っていう本を 数百円でゲットしてあるので平行して進める予定です。
944 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:50:58.15 ID:fbUsRR4f.net] MVCってそんなに遅いの?
945 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:53:29.97 ID:8z426iG1.net] 使い方が間違ってるだけ
946 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 00:14:50.49 ID:6NbSjz3o.net] >>898 >>901 データバインディングと非同期 ? C# Advent Calendar 2014 | kekyoの丼 www.kekyo.net/2014/12/21/4638 ※一部抜粋 この例は本物(CLR)のイベントハンドラではありませんが、 ICommandによって間接的に呼び出されるコールバックとして、 広義において同じと見なしても良いと思います。 このように説明されていたのでasync voidを使用したのですが問題有りますか? そもそもAction型なので戻り値が設定できません コンストラクタ内 SearchCommand = new DelegateCommand(() => {HogeSearch();}); private async void HogeSearch(){ var list = await Hoge.SearchAsync(); this.HogeItems = new ObservableCollection<HogeItem>(list);}
947 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 00:59:43.49 ID:Eju8VvyX.net] >>913 そういうのは、イベントと同じで仕方なくasync voidを使うケースになるんじゃないかな。 それしか手段がないということで。
948 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 01:25:55.14 ID:izkJyB4/.net] 実行中の他のフォームに対してString^を渡したいんですけど、C#の超初心者なんで、 EnumWindowsでタイトルを探してHWND取得して、マーシャルした*TCHARでグローバルATOMを作成して SendMessageで渡すという方法くらいしか思いつきません なんかかっこいい方法ありませんか?
949 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 01:31:29.80 ID:tXGVZqg3.net] async/awaitの使い方に関してはこの辺り読んどけ <
950 名前:br> http://blog.stephencleary.com/2012/07/dont-block-on-async-code.html https://msdn.microsoft.com/ja-jp/magazine/jj991977.aspx [] [ここ壊れてます]
951 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 01:47:17.82 ID:1taOWumU.net] >>913 値を返す必要がない非同期なんだからTask.Factory.CreateNewでWaitなしでも同じ事だね
952 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 01:52:04.59 ID:1taOWumU.net] おっと間違えてた メソッドのなかでさらにawaitやってるんだからメソッドの中でTask.Factory.CreateNewやればいいな asyncを使う必要性はむしろ例外が投げられた時に適切に対処出来るかどうかに関係する
953 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 08:03:29.48 ID:XweApYF/.net] >>915 プロセス跨ぐならIPC 跨がないなら普通にメソッド呼べ
954 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 22:51:37.10 ID:4BNFPd6R.net] ポリモーフィックな処理を書きたいときって インターフェースを使うのと仮想メソッドを使うので理論的にはどっちが速いの?
955 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 23:39:26.50 ID:AiijB2ck.net] 変わらないんじゃないの?実測するしかないけど abstructとvirtualの違いだよね?abstructは全てvirtualであるためなのか virtualを付けるとコンパイルエラーになる それからインターフェースのBaseを呼び出す事が出来ない インターフェースは多重継承みたいな事をしたい時に使ってるけど
956 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 09:06:24.07 ID:t3F14P3X.net] デフォルトのawaitの外側でWaitしたらあかんよ。
957 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 09:08:41.27 ID:t3F14P3X.net] デッドロックするからね。 awaitは処理完了後UIスレッドに続きを実行させようとするが、Waitで完了待ちしてるからUIスレッドはいつまで待っても空かない。 双方待ちあってデッドロック。
958 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 09:10:44.89 ID:t3F14P3X.net] それを防ぐにはawaitのときにConfigureAwait(false)するなりが必要。
959 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 09:13:12.96 ID:t3F14P3X.net] つまり>>897 は正しいわけだけどいきなりバカ言われて終わってるな。
960 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 09:17:28.88 ID:jZs8Gwbi.net] Twitterと勘違いして単文連投してんのか?ボケ 片山MZも似たような病気発症してるよな アスペに共通する病なのか?
961 名前:デフォルトの名無しさん [2015/07/03(金) 09:17:49.13 ID:aTUcbAAr.net] WPFでDataGridのItemSourceにObservableCollection<MyData>をBindingしているのですが、 ObservableCollection<MyData>の特定のデータを変更した際に、DataGridのスクロールを変更があったデータの位置(行)に移動したいです。 どのようにすればいいでしょうか?
962 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 09:42:07.68 ID:3rp9Mnby.net] >>925 ワロタ たしかにそうだな
963 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 09:43:40.63 ID:mX8fKKOT.net] VMの変更時にメッセンジャーとか使ってVに通知してScrollIntoViewすればいいんじゃない
964 名前:デフォルトの名無しさん [2015/07/03(金) 09:47:04.79 ID:aTUcbAAr.net] >>929 ありがとうございます、やってみます
965 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 09:55:39.32 ID:xTjRlvwx.net] >>930 ScrollIntoViewは仮想化切らないとマトモに動かないから中尉
966 名前:デフォルトの名無しさん [2015/07/03(金) 10:45:26.48 ID:JghQIuWO.net] asp.net mvc でdbにsqliteを使うことはできますか?
967 名前:デフォルトの名無しさん [2015/07/03(金) 10:54:35.26 ID:aTUcbAAr.net] >>931 ありがとうございます。 参考にさせて頂きます。
968 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 11:50:01.29 ID:7czX/gB0.net] >>932 使えるって実用に耐えるかってことなら無理だね。 素直にSQL Serverを使うべき。
969 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 12:11:33.74 ID:SPEM/1YO.net] >>920 インターフェイスは重い、仮想の方が速いってのが基本ではあるけど、最適化技術も進んでるので条件によってはほとんど変わらない。 まあでもやっぱり仮想の方が速いかな。
970 名前:デフォルトの名無しさん [2015/07/03(金) 12:23:00.35 ID:JghQIuWO.net] >>934 実用に耐えれなくても大丈夫です。 sql serverだと勝手に色々
971 名前:やってくれて便利すぎるのでsqliteとかで中身理解しながら勉強したいなと思って [] [ここ壊れてます]
972 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 14:23:52.58 ID:rDeS7aaJ.net] それはDBMSじゃなくてORMの問題かと SQLServerでいいからEF使わないで直接DbConnectionでSQL投げたらいい
973 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 15:42:42.38 ID:7czX/gB0.net] >>936 sqliteなんてサブセットだからちゃんとしたDBを学んだ人間が使うべきもの 勉強ならSQL ServerやPostgreSQLで学ぶべき
974 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 15:47:24.03 ID:uO8sjm4v.net] 別に何を使ったっていいだろ sqliteはスタンドアローンで動くしユーザーやら何やらDBサーバー側の設定を気にせず使えるからとっかかりは楽だと思う
975 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 15:48:54.97 ID:lmzcW47C.net] >>923 そうそうそうなんです、UIスレッドに戻ろうとして Task.Waitで止まってます わかりやすい、ありがとうございます ってことは@ITのコードはコンソールアプリじゃないと機能しないようなものなんですね
976 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 15:51:50.93 ID:7czX/gB0.net] >>939 じゃあそれでいいです。
977 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 16:06:51.66 ID:jZs8Gwbi.net] だよな!
978 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 16:07:54.64 ID:lmzcW47C.net] qwerty2501.hatenablog.com/entry/2014/04/24/235849 ここがすごくわかりやすく説明してた 上記サイトの一文 ・基本的にはライブラリ内でawaitする場合はConfigureAwait(false)すること 自分の問題はここだった WebPageをダウンロードするライブラリを利用するメインで 例外をキャッチしたかった
979 名前:デフォルトの名無しさん [2015/07/03(金) 19:24:19.48 ID:JghQIuWO.net] >>937 まだ勉強不足なんですけと、dbcontextを継承してそれをいじくるんですかね? 来週色々試してみます!
980 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 19:58:43.81 ID:uMdddorU.net] DBの勉強したいならEFの再発明を1回やっとけばおk
981 名前:デフォルトの名無しさん [2015/07/04(土) 02:55:41.29 ID:A6eGrjpU.net] >>945 メンバ名とカラム名を自動で紐付けるような感じですよね
982 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 12:41:38.87 ID:u/y4FI+O.net] それだけじゃないけどな クエリの動的生成やら更新の追跡やら自前でやると結構めんどくさいよ
983 名前:デフォルトの名無しさん [2015/07/04(土) 13:34:46.43 ID:YKtPOMLD.net] 更新の追跡ってなんですか??
984 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 15:34:35.19 ID:Yn2KkVMN.net] JavaのjBatchのようなバッチ処理のフレームワークありませんか?
985 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 16:55:53.12 ID:y9JP5enm.net] www40.atwiki.jp/spellbound/pages/1405.html ここを見てストップウォッチを作っているのですが、うまくいきません 基本的な事が出来たのでテストすると、1時間までは正常表示されるのですが 1時間以上経過すると「分」を表示する部分が「2時間235分」とか表示されてしまいます // start押したら計測開始 time_A += Time.deltaTime; // Textコンポに表示 timer_A.text = Mathf.Floor(time_A / 3600f).ToString() + "時間 " + Mathf.Floor(time_A / 60f).ToString() + "分 " + Mathf.Floor(time_A % 60f).ToString(); やってる事はunityですが質問はC#だと思うので、こちらで質問させて頂きました 何かアドヴァイスを頂きたいのですが、どうしたらいいでしょうか?
986 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 16:58:18.01 ID:YYyieqqT.net] 例えば2時間30分のときにtime_Aにはどんな値が入ってて、それを60で割って表示したらどんな値が出力される?
987 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 17:08:41.01 ID:y9JP5enm.net] >>951 time_Aには9000・・・? 60で割ると150ですかね あまり自信ないです・・・
988 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 17:12:12.71 ID:YYyieqqT.net] >>952 150になるなら、2時間150分って表示されることになるだろ?だから150になるような計算じゃなくて30になるようにしないと駄目
989 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 17:15:47.28 ID:Rsiji3ml.net] ヒントは秒の所に
990 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 17:17:33.59 ID:y9JP5enm.net] >>953 あー・・・なるほど たぶん分かったと思うので、試してみます ありがとうございました。
991 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 17:25:47.09 ID:yvuAj/xu.net] >>950 まんまstopwatchクラスとかあるんだが
992 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 21:42:25.14 ID:aXZfp9EM.net] ま、誰もが一度は通る細道よ もぞもぞっとしてああそうか、で終わりよ
993 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 08:30:09.15 ID:U6+aOXmn.net] C#もメソッドの複数戻り値欲しい 対応する他の言語も増えてるんだし あ、Tupleは論外です
994 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 08:41:53.84 ID:TS0XlDWE.net] 言語仕様にごちゃごちゃ言えるレベルかよ コード書いてろよタコ
995 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 08:46:01.63 ID:ZxkWSQzJ.net] その複数の戻り値を格納したクラスのオブジェクトを返せばいいだけでは
996 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 09:23:42.50 ID:pk39sm1t.net] dynamicでむちゃくちゃシンプルに複数戻り値のメソッド記述できるだろ
997 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 09:53:13.21 ID:PjK/lpsq.net] 連想配列を使うのが流行ってる
998 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 11:46:55.79 ID:kBfZhVx2.net] >>958 なぜ論外なのか教えてください
999 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:12:07.88 ID:qt5SIPya.net] メソッドから複数の戻り値返せるような言語の例をあげて欲しいんだが
1000 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:15:50.25 ID:EDjn9D6L.net] Go、Scala、python、perl、ruby
1001 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:17:20.40 ID:IXTBYhaq.net] tuple返したらだめなん?
1002 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:18:44.80 ID:mRhwc0pv.net] >>961 どうやるん?
1003 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:19:07.82 ID:sTXZljFQ.net] >>960 それだと最大でメソッドごとにクラスが必要でクラスごとにプロパティを持つことになりますね これが陳腐、非生産的なので複数戻り値をサポートする言語が増えています >>961 dynamicは実行速度が低速なので論外です
1004 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:28:03.41 ID:WTwMH7IK.net] C#にも匿名型があるじゃん
1005 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:30:19.81 ID:sTXZljFQ.net] ほぅ、では匿名型で書いてみましょうか どうなると思います?
1006 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:40:17.61 ID:qt5SIPya.net] >>965 Goは確かにできるみたいだな。これは面白そうではあるけど それ以外で直接、複数戻り値返せるのはなさそうだけど? あくまで戻してるのは配列やリストだろ。それを複数変数に一括代入できるだけで だったらC#でもオブジェクトの配列でも戻せば良いんじゃね オブジェクト指向としての設計方針がどうなのかはしらんが 匿名クラスが戻り値に指定出来れば面白いかもしれんのだがなぁ 出来ない事は無いような気がするんだが、やらない方針なのか
1007 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:43:35.50 ID:pk39sm1t.net] >>967 private void button1_Click(object sender, EventArgs e) { var packed = GetHoge (); if (packed.IsOK) { textBox1.Text = packed.Name; } } private dynamic GetHoge () { return new { Name = "ほげ", IsOK = true }; }
1008 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:48:04.38 ID:TS0XlDWE.net] うんこに触りまくりだなキミら
1009 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:49:18.70 ID:pk39sm1t.net] >>968 速度が必要なところではクラスを使って問題ないところでdynamic 使い分けがめんどくさいなら他の言語に行けば
1010 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:54:29.41 ID:EDjn9D6L.net] >>971 内部的にはどの言語も戻してるのは配列やリストだし、C#でも同じことはできるが 例えばperlなら下のように簡単にできるってのがメリットってだけだからな sub a { return (123, "abc"); } my ($aaa, $bbb) = a();
1011 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 13:00:51.91 ID:mRhwc0pv.net] >>972 ありがとー 名無しクラスで
1012 名前:返すのか [] [ここ壊れてます]
1013 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 13:15:07.21 ID:qt5SIPya.net] 匿名型は型もってるけど、ダイナミックは結局Object型だからなぁ 結局のとこタイプセーフどうすのって話になるかと なんか構想はあるみたいだな https://ufcpp.wordpress.com/2015/02/11/c-7%E3%81%AB%E5%90%91%E3%81%91%E3%81%A68-tuples/
1014 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 13:20:39.70 ID:pk39sm1t.net] >>977 >結局のとこタイプセーフどうすのって話になるかと そこがね、結構な弱点ではある
1015 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 13:30:42.49 ID:HWlVqIKe.net] >>966 というよりこの話題でタプルを別に考えなくていいやんと思う タプル返すならそれでいいやんって思う しかもrubyの場合は単にArrayなんじゃなかった?(あやふや) それだとしてもそれでいいやんって思う 用は単にx, y = fと書きたいだけじゃないのみんな
1016 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 13:46:51.67 ID:mRhwc0pv.net] >>979 publicなメソッドでitem1、item2、...はあかんわ
1017 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 14:48:50.22 ID:PIoug+Wj.net] >>980 ごめん、C#のSystem.Tupleについては存在すら知らなかった ocamlのタプルを勝手に想像してて (x, y)やカッコも省略できるんでx, yもタプル let a, b = (1, 2);; こういうのを勝手に想像してたすまそ
1018 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 16:52:35.77 ID:qt5SIPya.net] >>979 >用は単にx, y = fと書きたいだけじゃないのみんな 俺はこれは嫌だな。fにx,yが内包されている事がわからんから これだったらそれこそf.item1,f.item2で良いわけで、今のタプルで良いかと f.なになに で、名前と型が維持されてないとダメだ
1019 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 17:05:13.40 ID:qt5SIPya.net] そういえば上の方で、タプルは >言語レベルでのサポートがない言語で使うべきではない って力説してた人がいたなぁ dynamicは遅いから論外だって言ってるけど >>958 がタプルを論外だと言う理由は何だろ
1020 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 17:39:44.26 ID:gSeUuLQi.net] >>982 あぅ…つくづくスマン > x, y = f これは f() の意味ね あなたの論旨に対して瑣末なことではあるが一応訂正しとく
1021 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 20:16:16.46 ID:fVR/pyHV.net] ふらふらっと
1022 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 20:56:38.80 ID:n0YcJJeB.net] 次期バージョンで複数戻り値がサポートされそうってのがあったけどいつの間にかなくなったしな
1023 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 23:21:04.78 ID:pk39sm1t.net] >>983 きっとitem1、item2...ってなるのが気に入らないんだよ
1024 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 23:35:34.00 ID:LHx3NAum.net] まぁそれでもないよりはましなのかなC#にとって C++でもpairってやっぱ、要所要所で欲しいし 白状するとC#でもpair<T1,T2>みたいなん作って使っちゃってます first, secondってのも名前としてはまぁそうなるよねって感じ item1, item2...とそう変わるもんじゃあない
1025 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 23:41:44.85 ID:oR9xV2kd.net] >>983 あれはタプルって読むのか。 ずっとチュープルだと思っていた。 tupleなんて使わないよなあ。 必要なら構造体を定義する方が分かり易いし。
1026 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 00:23:28.32 ID:k/qBkFOv.net] しかも構造体なら値型だしね 多くの場合そっちのほうが望みどおりだろう
1027 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 00:49:17.62 ID:8+ik3mP9.net] 静的型付けとかJITとかのあたりの仕組みが全く理解できなくてワロタwww・・・ どうすればいいですか・・・?
1028 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 00:59:06.73 ID:drHIjVcg.net] >>989 >>990 数学の世界ですら 円の方程式ならy=±√(r^2-x^2)で解は2つ、三次方程式なら解は3つといった具合に、純粋関数が複数戻り値を返す タプルの概念自体を否定するのはおかしいし、それを構造体やクラス化するのもまたおかしな話し 数学というモデルが存在する以上、いずれC#も対応せざるを得ないんじゃないのかな
1029 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 01:07:25.57 ID:889KT988.net] √2などを表現できる数値型がないとおかしい まで読んだ
1030 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 01:22:35.57 ID:K3Unqfxi.net] あれば使うだろうが無けりゃ無いでどうでもいいわ 無いとプログラム書けない奴はコールドスリープにでも入って50年後に目覚めてろ
1031 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 01:54:58.88 ID:4m9Vq9W3.net] >>986 >977のissueはまだ続いてるみたいだし、なくなったって訳じゃないんじゃね? 割と大きな変更になりそうだから後に回されただけで。
1032 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 01:59:21.89 ID:PAkk6Hqa.net] >>992 数学とプログラミングを無理矢理に 関連付けてヘンテコな説を唱えて 一人悦に入って居ればいいよ。
1033 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 06:17:01.48 ID:7qvaXLbV.net] 数学に可読性や保守性なんていう概念はないだろう 数学だとほとんどの場合一文字変数しか使わないけど、 だからってC#でも常に一文字変数を使うべきだと?
1034 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 09:09:41.81 ID:wIKfbX0j.net] 皆の希望を全部いれた言語なんてろくなモンにならん
1035 名前:980 mailto:sage [2015/07/08(水) 16:34:36.23 ID:K7cQm9JH.net] 次スレってどうやって立てるんだ 新規スレッド作成画面から作成したはずなんだが
1036 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 16:46:33.07 ID:HMKJDSG5.net] >>999 したはず ってことは、もう勃ってるんだろ? リロードすればいいだろ。
1037 名前:980 mailto:sage [2015/07/08(水) 16:48:45.27 ID:K7cQm9JH.net] したはずなんだが出てこない 2回やっちまったけど、これで出来てなかったら誰か頼むわ
1038 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 17:42:08.39 ID:rwtUEn+Z.net] peace.2ch.net/test/read.cgi/tech/1436344868/ 立てたよー >>1001 なんか立てたはずなのに立ってないってのがちょくちょくあるっぽい
1039 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 18:11:25.27 ID:t2tbnUcj.net] せん
1040 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。
1041 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています