1 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 23:45:15.36 ID:EZjVZgG6.net] ■Visual Studio 2013 Community & Express(無償の統合開発環境)等はこちら www.visualstudio.com/downloads/ ■コードを貼る場合はこちら ideone.com/ ■前スレ C#, C♯, C#相談室 Part88 [転載禁止]©2ch.net peace.2ch.net/test/read.cgi/tech/1437808445/ C#, C♯, C#相談室 Part89 peace.2ch.net/test/read.cgi/tech/1443271409/ C#, C♯, C#相談室 Part90 echo.2ch.net/test/read.cgi/tech/1455160063/ ■次スレは>>970 が建てる事。 建てられない場合は他を指定する事。
357 名前:340 mailto:sage [2016/11/26(土) 21:03:56.05 ID:ZtR+Z7Wd.net] >>341 ,345 昨日はまだ調べていませんでした。 341 に書いていただいた URL の方法で普通に出来ました。 ありがとう。
358 名前:デフォルトの名無しさん mailto:sage [2016/11/27(日) 21:23:49.80 ID:I1ny1q/I.net] 妙な質問だけど、今2ch以外でユーザー同士でC#関連の質問解答ができるコミュニティーって、 - MSDNフォーラム - わんくまの掲示板 - DOBON.NETの掲示板 質問して答えが返ってきそうなのはこのぐらい? あ、別にマルチで質問投げてやろうとかそういう意図ではないので念のため
359 名前:デフォルトの名無しさん mailto:sage [2016/11/28(月) 00:18:17.41 ID:n0A2uJuC.net] ja.stackoverflowはもう泣く以外の道ないなw
360 名前:デフォルトの名無しさん mailto:sage [2016/11/28(月) 00:18:37.64 ID:VTugBhJZ.net] >>352 StackOverflow一択だろ
361 名前:デフォルトの名無しさん mailto:sage [2016/11/28(月) 00:23:13.14 ID:fF5TvHl5.net] google翻訳少し賢くなったんだから「このページを翻訳する」で結構使える
362 名前:デフォルトの名無しさん mailto:sage [2016/11/28(月) 01:04:22.51 ID:v97E8kC6.net] >>352 最近はteratailもありかも あとは、.NET共通のことならVB中学校も一応あり
363 名前:デフォルトの名無しさん mailto:sage [2016/11/28(月) 01:42:44.60 ID:9T0ZytTv.net] >>353-354 stackoverflowって日本語版もあったのかw ありがとう >>356 teratailはまったく知らなかったありがとう。
364 名前:デフォルトの名無しさん mailto:sage [2016/11/28(月) 03:25:24.52 ID:PwcZf+No.net] あとはQA@ITとか
365 名前:デフォルトの名無しさん mailto:sage [2016/11/28(月) 04:33:07.21 ID:VTugBhJZ.net] >>357 日本語限定ってどこかに書いてあったっけ?
366 名前:デフォルトの名無しさん mailto:sage [2016/11/28(月) 19:31:45.97 ID:FcPInj/k.net] >>359 >- MSDNフォーラム >- わんくまの掲示板 >- DOBON.NETの掲示板 日本語って一目で分かるだろ
367 名前:デフォルトの名無しさん mailto:sage [2016/11/28(月) 19:35:28.66 ID:MT+LNPN6.net] 落ち着けよハゲのブラザー
368 名前:デフォルトの名無しさん mailto:sage [2016/11/28(月) 21:09:47.26 ID:SXoUdBtU.net] >>354 は stackoverflow.com のつもりで書いたが>>357 は ja.stackoverflow.com を見つけて、 日本語版の存在を知らなかった>>354 は>>357 を皮肉と受け取った。
369 名前:デフォルトの名無しさん mailto:sage [2016/11/28(月) 21:23:26.86 ID:C8x/B1Vp.net] >>360 バカの連鎖反応
370 名前:デフォルトの名無しさん mailto:sage [2016/11/28(月) 21:35:12.23 ID:Efu8jG2p.net] 人脈作れば全部解決だろ Xamarinユーザー見習えよ
371 名前:デフォルトの名無しさん mailto:sage [2016/11/28(月) 22:05:43.16 ID:/OQd0iyQ.net] 元の質問者の>>352 だけど、質問の仕方がまずかったなら謝るけど 無意味に喧嘩腰でつっかかるのはどうかと思うよ 意図としては英語も排除しないけど日本語のを中心に教えて欲しかった。 英語は読むのは何とか読めても書く(質問する)のは結構つらいっすわ。
372 名前:デフォルトの名無しさん mailto:sage [2016/11/29(火) 15:41:26.31 ID:07zLg605.net] >>364 あのオタサー集団と同列に見られるのは非常に辛い
373 名前:デフォルトの名無しさん mailto:sage [2016/11/30(水) 08:32:18.72 ID:rOv2n/Yl.net] axwindowmediaplayerで次、前のボタンにイベントを割り当てるのはどうしたらいいですか。 this.axWindowsMediaPlayer1.Ctlcontrols.next += new AxWMPLib.なんちゃらなどで記述? ボタン自体もグレーアウトしていて使えない状態です。 再生などのボタンは初めから再生が割り当てられていてなにも記述しないでもよかったのですが。
374 名前:デフォルトの名無しさん mailto:sage [2016/11/30(水) 11:01:13.74 ID:U6G+25fY.net] AxWindowsMediaPlayerでそんな細かい制御はできない currentPlaylistとかでIWMPMedia管理すればそれらも使えるようになるはず 組み込みのプレイリスト使いたくないならUIも自分で全部やる
375 名前:デフォルトの名無しさん mailto:sage [2016/11/30(水) 16:39:10.32 ID:y2jQ/DIV.net] LINQのQuantifierの日本語訳なんだけど、MSDNだと量指定子、 岩永さんのところだと限定子となってるけど、どっちがより適切だと思う? https://msdn.microsoft.com/ja-jp/library/bb546128(v=vs.120).aspx ufcpp.net/study/csharp/sp3_stdqueryo.html#quantifier
376 名前:デフォルトの名無しさん mailto:sage [2016/11/30(水) 23:23:25.49 ID:rOv2n/Yl.net] >>368 ありがとう。プレイリストがよさそうです。
377 名前:デフォルトの名無しさん mailto:sage [2016/12/01(木) 09:05:41.40 ID:ySUX8EsS.net] >>369 語義的には量指定子じゃない quantityが量だから
378 名前:デフォルトの名無しさん mailto:sage [2016/12/01(木) 18:33:51.23 ID:CcMyBcAe.net] でも量指定子って正規表現的な言い回しだよな。 SQL的な言い回しだとALL,ANY,SOMEとかは限定子になるはず。 software.fujitsu.com/jp/manual/manualfiles/M100005/J2X17484/01Z200/J7484-00-02-11-06.html
379 名前:デフォルトの名無しさん mailto:sage [2016/12/01(木) 18:37:08.39 ID:CcMyBcAe.net] ただまあ本家が量指定子ってるんだから、量指定子が正式用語ではあるだろうけど。
380 名前:デフォルトの名無しさん mailto:sage [2016/12/01(木) 18:39:48.63 ID:lOA8D/0g.net] 英語のまま使ってもらいたい
381 名前:デフォルトの名無しさん mailto:sage [2016/12/01(木) 19:00:45.21 ID:74fND9I4.net] そもそもそんなキーワードを使う場面が思い浮かばない…
382 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 00:05:35.89 ID:ui5LUeC9.net] AnyとAllとContainsをまとめて分類しただけの言葉のようだが、禿しくどうでも良い
383 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 00:27:24.78 ID:57Q76p9I.net] 一般的な呼び方じゃ量化子だよな。
384 名前:デフォルトの名無しさん [2016/12/02(金) 06:58:37.23 ID:jL2K9FKD.net] LINQは日本語ではなに? LINQは英語のままで量化子だけ日本語てのは 運用の誤り。 無理やり日本語にするならクオンティフィアでいいと思うがゴミみたいな 概念をわざわざ日本語にするのはよくない。説明的に日本語で「量化を 意味する」のように使うのは問題ないが、「量化子」のように語彙にして しまうのはよくない。英語のまま運用するのがよい。
385 名前:デフォルトの名無しさん [2016/12/02(金) 07:09:43.00 ID:jL2K9FKD.net] 訂正 このサイトの説明では Any,All,Conttainsを総合的に説明するのが目的だからLINQという具体的な ものよりは上位概念だな。この場合は限定子で正しいと思う。 量指定、量化はちょっと違うな。
386 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 07:21:27.21 ID:iUEu5k7c.net] LINQは固有名詞だから訳しようがないけど量化子はすでに記号論理学でも使われてる一般名詞だろ
387 名前:336 mailto:sage [2016/12/02(金) 07:48:29.69 ID:GGzlnXmJ.net] めんどくさいから英語のままでいいってのはある
388 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 10:36:52.50 ID:X9iN1GdM.net] 明治の人に謝るべき暴言。
389 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 14:59:21.44 ID:rEQGNTwO.net] >>380 LINQはLanguage Integrated Queryを省略してるだけだから日本語化できるでしょ(してもらいたくないが) OPEC〜石油輸出国機構みたいに訳してる例は多い
390 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 17:36:35.56 ID:8D4FZt7r.net] >>383 してみ
391 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 17:40:15.92 ID:DaaN/lCj.net] 383ではないが、『言語に統合された問い合わせ』 ・・・ないわ
392 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 18:09:20.76 ID:rEQGNTwO.net] >>384 統合言語クエリって単語がすでにある。クエリも訳したら統合言語処理要求か?
393 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 19:38:47.97 ID:4/nN0nxx.net] 組込問合せ機能 辺りでいいんじゃね?
394 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 20:25:58.53 ID:fkVt0GEN.net] 統合失調言語
395 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 20:31:59.72 ID:57Q76p9I.net] 「LINQは LINQ Is Not Queryの略」とか言い出して、その後「LINQはLINQ。略語や頭字語じゃない」とか言い出す。
396 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 20:59:04.23 ID:fqYy1w3v.net] 一体誰のことを揶揄した気になっているのかね
397 名前:デフォルトの名無しさん mailto:sage [2016/12/02(金) 21:09:36.57 ID:ui5LUeC9.net] 横だがストールマン以外の誰と言うんだよ
398 名前:デフォルトの名無しさん [2016/12/04(日) 09:09:46.43 ID:HFDVK7VF.net] おまえら言語センスがないな。「問式」でOK。今後日本語でのLINQこれだ。
399 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 09:20:34.29 ID:a6Aihxwg.net] Bingに聞いたらLINQの日本語訳はLINQでいいってさ マイクロソフトのお墨付きだからこれが正解な
400 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 09:42:24.52 ID:zAL6lz1+.net] Binqに聞いたらLINQの日本語での質問はLINEQでいいってさ に見えた
401 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 10:29:28.25 ID:U0Kel+uM.net] こういう関数を作ったら void func<T>(T obj, string name) { obj[name] = ... } [name]の部分でエラーが出ます。 こういう関数は作れませんか?
402 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 10:41:15.33 ID:0sR5hBHN.net] すべてのクラスが this[string] を持つわけじゃないから… 自分がTに入れたいクラスをwhere T: で指定しては
403 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 11:15:31.06 ID:U0Kel+uM.net] >>396 ありがとうございました。 上手く行きました。
404 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 12:05:02.46 ID:OeUSkEhR.net] ジェネリックは使いにくいよな C++みたいな仕様にしてくれりゃいいのに
405 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 12:33:20.31 ID:sIaSQQRI.net] >>398 あほす
406 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 12:56:13.33 ID:3+5uaoN5.net] C++のテンプレートの糞エラーは酷いよな C#みたいにしてくれりゃあいいのにww
407 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 13:58:45.59 ID:VS/jD7cp.net] >>398 なんでわざとあんな文法になってると思うんだよ JIT言語の特長を最大限に活かすためだぜ コンパイラ言語みたいに使うコードを全てあらかじめ生成しておくわけではなく Tでnewされた時に初めてコードを生成するからメモリ使用量も少ない ただ利点はそのまま欠点にもなる T型同士の演算コードを書くとたちまちエラーになるのでdynamic型にキャストするとかしないとな
408 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 15:28:39.35 ID:UcElfbev.net] dynamicにするとbox/unboxが発生するから式木で殴る解決策あったな
409 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 19:05:36.47 ID:U4ZfHibQ.net] ガッチガチにチューニングしようとすると式木やILを触る必要があってツライ
410 名前:デフォルトの名無しさん mailto:sage [2016/12/04(日) 19:37:47.45 ID:OeUSkEhR.net] コンパイルするタイミングを実行時に移すだけだろ プログラマがCodeDOMや式木でやってる退屈で定型的なプロセスを自動化するだけじゃん マイクロソフトの怠慢だよこれは
411 名前:デフォルトの名無しさん mailto:sage [2016/12/05(月) 00:12:25.29 ID:wzEk6zml.net] >>402 dynamicの偉大な点は勝手に内部で式木に変換してしかもそれをキャッシュしてくれるから 完全なリフレクションに比べて速度的にそんなに不利ではない ufcpp.net/study/csharp/misc_dynamic.html ここら辺が有名だよな
412 名前:デフォルトの名無しさん mailto:sage [2016/12/05(月) 01:54:32.46 ID:kX3Q4svv.net] >>404 だいぶ違うぞ プログラミング学び直したほうがいい
413 名前:デフォルトの名無しさん mailto:sage [2016/12/05(月) 02:10:45.39 ID:u0DsEOY/.net] 使いにくいと言う奴の99%は理解してないだけだからな 1%くらいには李左車の言うように有意義な指摘もあろうが それは404ではないだろう
414 名前:デフォルトの名無しさん mailto:sage [2016/12/05(月) 03:06:07.61 ID:TC/GOrDD.net] 使いやすいという奴は仕事で使ってない
415 名前:デフォルトの名無しさん mailto:sage [2016/12/05(月) 07:38:13.09 ID:FYlXKnN9.net] >>406 お前は黙ってJavaかVBでもやってろ
416 名前:デフォルトの名無しさん mailto:sage [2016/12/05(月) 16:46:58.81 ID:5hp1IXjD.net] >李左車 誰だよ?
417 名前:デフォルトの名無しさん mailto:sage [2016/12/05(月) 17:16:33.12 ID:uj/2rcDx.net] さーしゃちゃん知らないってモグリかよ
418 名前:デフォルトの名無しさん mailto:sage [2016/12/05(月) 17:35:03.83 ID:PG/Hzji5.net] クポ?
419 名前:デフォルトの名無しさん mailto:sage [2016/12/08(木) 00:12:08.98 ID:/aGxLpEu.net] AWS LambdaでC#が使えるようになったらしいな Googleも.NETの開発に参加したことだし、本格的に波が来ている
420 名前:デフォルトの名無しさん mailto:sage [2016/12/08(木) 05:07:13.06 ID:Vn/geEUt.net] ついにJava終わったか
421 名前:デフォルトの名無しさん [2016/12/08(木) 13:08:55.01 ID:0EWqwyqo.net] C#というより.NETの質問なんですがいいでしょうか? リストビューの各項目のクリックを拾いたいんですが方法ありますか? 例えば以下の様な構成になってる場合「山田」のクリックとか「21歳」のクリックとかを 拾いたい感じです。 --------------------- [項目1][項目2][項目3] 山田 20歳 東京 斎藤 22歳 埼玉 戸川 21歳 千葉 --------------------- やっぱりクリックイベントから現在選択されている項目を取得する という方法が一番でしょうか?
422 名前:デフォルトの名無しさん mailto:sage [2016/12/08(木) 13:14:33.65 ID:h9KBoTPl.net] >クリックイベントから現在選択されている項目を取得する という方法で何か困っていることがあるならそれを書くのが早い
423 名前:デフォルトの名無しさん mailto:sage [2016/12/08(木) 13:15:32.08 ID:RR5e4yCq.net] 行と列両方いるならListViewHitTestInfo
424 名前:デフォルトの名無しさん mailto:sage [2016/12/08(木) 13:33:02.23 ID:0EWqwyqo.net] >>417 おぉ〜クリックイベントに以下でイケました!>>416 さんもありがとうございました! Point pt = new Point(e.X, e.Y); ListViewHitTestInfo lvHti = lstv.HitTest(pt); int row = lvHti.Item.Index; int col = lvHti.Item.SubItems.IndexOf(lvHti.SubItem); MessageBox.Show(row.ToString() + ", " + col.ToString());
425 名前:デフォルトの名無しさん [2016/12/08(木) 14:57:23.01 ID:vKAf8GkY.net] カスタムコントロールについて教えてください。 FontとColorのセットとなるクラスの配列を特定のコントロールのプロパティ値として持ちたいのですが、デザイン時に値を入れると 「ResXファイル.RESXファイルで使用される型XXXXXX..を読み込めませんでした。必要な参照がプロジェクトに追加されていることを確認してください。」というエラーとなってコンパイルできなくなってしまいます。 どの様にすれば、正しく、デザイン時の値を保持&読込ができるのでしょうか? 【ソース】 public class TestCmb:ComboBox { [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] public List<FontAndColorSet> TestProperty { get; set; } = new List<FontAndColorSet>(); } [Serializable] public class FontAndColorSet { public Font Font { get; set; } public Color Color { get; set; } }
426 名前:デフォルトの名無しさん mailto:sage [2016/12/08(木) 18:44:29.79 ID:Ayid3Uvv.net] >public Font Font { get; set; } >public Color Color { get; set; } C#では、クラス名を、2回も書けるのか?
427 名前:デフォルトの名無しさん mailto:sage [2016/12/08(木) 18:47:17.57 ID:6K2Be21z.net] >>420 public 型名 プロパティ名 {get;set;} public Object Object(){ return null; } って書けるのと同じ
428 名前:デフォルトの名無しさん mailto:sage [2016/12/08(木) 18:48:35.47 ID:6K2Be21z.net] C#はフィールドとローカル変数はhogeFooで、プロパティ、メソッド、クラス、名前空間はHogeFooだから結構型名と被る事多いよ
429 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 01:37:38.58 ID:nk5rcDEa.net] >>419 とりあえずこんな感じ public class TestCmb : ComboBox { [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] public FontAndColorSetCollection TestProperty { get; set; } = new FontAndColorSetCollection(); } //[Serializable] これいらない public class FontAndColorSet { public Font Font { get; set; } public Color Color { get; set; } } public class FontAndColorSetCollection : Collection<FontAndColorSet> { public void AddRange(FontAndColorSet[] items) { foreach (var x in items) this.Items.Add(x); } } ここが参考になる https://www.codeproject.com/articles/5372/how-to-edit-and-persist-collections-with-collectio
430 名前:419 [2016/12/09(金) 09:31:24.99 ID:pxgVwarY.net] >>423 おおおおおおおおおおお!!!!!!! ありがとうございます♪さっそく試したところうまくいきました!! これだけでかなりコード量が減るのでホントたすかりました;w; ありがとうございますm(_ _)m
431 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 11:25:46.06 ID:nQ2cVzw4.net] 質問者じゃないけど、>>419 のコードというか、List<T>じゃダメな理由は何なんだろう AddRangeの引数の型がT[]じゃないから?
432 名前:デフォルトの名無しさん [2016/12/09(金) 12:43:50.54 ID:73dS9ox0.net] C#でWindows.formアプリを勉強中なんですが controlとの絡みばかりでクラスを作って色々やるといったことなく出来上がってしまいます 複雑化すればそうもならないのでしょうか。。
433 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 13:56:37.83 ID:3kVVURfS.net] >>426 単純なアプリだとそんなもんだよ 規模が大きくなってきても、ある程度まではその流儀でやれなくはないけど、そのうち プログラムの見通しが悪くなって、メンテする際にイライラする事が多くなって、 やり方を変えたくなってくる
434 名前:デフォルトの名無しさん [2016/12/09(金) 18:10:47.21 ID:73dS9ox0.net] >>427 ありがとうございます 頑張ってみます
435 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 18:31:58.73 ID:IAKedM2U.net] ドカタ開発だとそのままのノリで大きなシステム作っちゃうけどね 共有していいのはDBだけ、あとはコピペ上等で画面単位でぶった切れ、という開発スタイルなら設計スキルが無くても容易にスケールするよ まあ一度書いたものは弄らないことが大前提のやり方なので、後で大きな仕様変更が入ったら炎上するんだけど
436 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 20:14:42.74 ID:RJlryFXO.net] >>429 特定企業への破壊工作を目的とする場合以外に絶対にやってはいけないアーキテクチャパターンランキング第1位のやつじゃん
437 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 20:54:48.40 ID:0cPrt4mX.net] >>430 とはいえ日本の高度経済成長を支えた伝統ある開発手法だからね 低スキルな要員で案件を確実に終わらせて逃げることに関しては現代においても最強よ 古典的なウォーターフォールが正しく機能してるなら客の後出し要件なんか無視できるんだし
438 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 21:03:09.07 ID:SmYH2aqj.net] その頃のシステムのリプレイスで付けを払わされて炎上してるところいっぱいありそう
439 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 21:12:50.85 ID:0cPrt4mX.net] >>432 しかしそのツケを払うのは当時のSIerではなく客だ 際限なく肥大化する保守費用、しかしリプレースしようにも見積は天文学的な金額になる 売る側にとっちゃメリットしかないんだよ
440 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 21:22:01.74 ID:4/j9vJm7.net] コメントしっかりしててすげー綺麗なコード書く奴いるけど いつもスケジュール間に合わず動かず役に立たず。ぎりぎりになると周りがフォローよ
441 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 21:38:16.31 ID:RJlryFXO.net] >>431 借金は日本のお家芸だな 日本中でそれやってビジネス停滞してんだから国家的損失はデカイ
442 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 21:41:54.69 ID:inzQIL9U.net] >>433 そこで魔法の言葉「過去資産の流用」が出て来るのか
443 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 21:50:33.79 ID:YFW7nsEC.net] >>433 マジで経験したことないやろ そんな案件の尻拭いってモチベーションだだ下がりやし 二度と経験したくない
444 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 22:28:31.44 ID:RJlryFXO.net] レガシーシステムのリファクタリングは楽しい でもリファクタリングをしたら正しく動いてるものに触るなと怒られる ジャアアアアップ
445 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 22:32:26.54 ID:o6zCM5vx.net] >>438 草
446 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 23:11:31.83 ID:SjD2GByw.net] 周りにC#プログラミングをやっている人がおらず、推奨/非推奨の判断ができないので相談させてください 次のような書き方はアリでしょうか たとえばWindowsフォームアプリケーションのForm1クラスの 直下に Regex.CacheSize = 100; などとほかのクラスのプロパティ代入文を書くとエラーでコンパイルが通りませんが、これを int dummy_int = Regex.CacheSize = 100; というようにダミーの変数代入を噛ませれば、 コンパイルエラーを起こすことなく書くことができてしまいます これは普通に使われるようなテクニックですか? それとも仕様上はコンパイルできるがあまり好ましくない書き方ですか?
447 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 23:20:41.59 ID:SmYH2aqj.net] 使っちゃ駄目。 上の書き方でコンストラクタ内とかで設定。
448 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 23:22:54.69 ID:AFnkuo0i.net] 考えたこともなかったからちょっと感心したわ 視点の違いってすごいわ
449 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 23:39:59.90 ID:pDhW8mKL.net] コンストラクタが呼ばれた時に暗黙的に変数の初期化が走るとは言え上手くいくのだろうか。 普通はコンストラクタかForm1がロードされた時に代入かな。
450 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 23:45:53.15 ID:SjD2GByw.net] >>441 ありがとうございます、やっぱりダメですか ちなみにどういった理由でダメなんでしょう 実際には色々なクラスの色々な所でRegexオブジェクトを定義しているので なるべく早くキャッシュサイズを拡大したいんですが、 (あまりProgram.csは触りたくないけど)素直にMain()内に書くしかないんでしょうか >>443 ステップ実行してみたら、Form1のコンストラクタ(InitializeComponent();)よりも前に実行されてました
451 名前:デフォルトの名無しさん mailto:sage [2016/12/09(金) 23:51:08.34 ID:vatll/rz.net] >>440 こんな仕様初めて聞いたんだが、誰かkwsk
452 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 00:10:15.56 ID:htA28gv+.net] >>442 >>444 int a=b=100; みたいな書き方ができること自体は以前どこかで読んだことがあったものの なんとなく気持ち悪くてこれまで使ったことがなかったのですが、 最近改めて=演算子の戻り値と演算順序(先に実行される「b=100」の結果が100を返すので それがaにも代入される)を勉強したところだったので、コンパイルできるかなと思ったらできてしまいました
453 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 00:11:39.47 ID:htA28gv+.net] >>446 は442と>>445 へのレスでした。
454 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 00:14:55.08 ID:HOF4U6Im.net] >>446 それは分かる でも何故エラーが出なくなるのかって話
455 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 00:24:59.06 ID:mt2BmPb5.net] そもそも単なる文法上の制約だからだろ そういう制約をわざわざ付けてるってことは、そういう事はやるべきじゃないって思想の表現だと思うが
456 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 02:21:43.03 ID:XBbQ6S0E.net] >>444 横だし俺はC#専門ではないけど、それってコンストラクタ内に書けばいいだけだよね。 果たして>>440 で動くのかも疑問だけど、 仮に動いたとしても、ダミー変数がインスタンス内に残ってしまうのが無駄だよね。 そもそも a=b=c の書き方自体をしない。(ただしRubyの連中はするのかもしれない) 何故かは知らんが、おそらく見にくいという主張をする奴が多いからだろう。 どのみち普通はコーディングルールで禁止してあるし、 行数をケチる以外のメリットもないからいちいち文句を言う価値もないし。
457 名前:デフォルトの名無しさん mailto:sage [2016/12/10(土) 02:29:36.15 ID:THyFY8cN.net] >>444 単純に分かり難いから。このスレの反応見ても、普通使わなそうなのが見て取れるでしょ。 Program.csが嫌でなるべく早くというなら、Form1のコンストラクタが良いんじゃないの。 Form1のコンストラクタよりも先である必要ってないでしょ。