1 名前:デフォルトの名無しさん [2013/11/28(木) 11:27:54.20 ] 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。 他のスレッドでは書き込めないような低レベルな質問。 質問者自身なんだか意味がよく分からない質問。 ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められることがあります、ご了承下さい。 なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。 >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■前スレ ふらっとVisual C#,C♯,C#(初心者用) Part108 toro.2ch.net/test/read.cgi/tech/1383867970/ ■関連スレ C#, C♯, C#相談室 Part81 toro.2ch.net/test/read.cgi/tech/1381134494/ ■コード貼るなら↓使ってください ideone.com/
21 名前:デフォルトの名無しさん mailto:sage [2013/11/28(木) 22:27:25.96 ] ダックタイピングがしたいのか?
22 名前:デフォルトの名無しさん mailto:sage [2013/11/28(木) 22:28:53.47 ] >>18 void Hoge(dynamic a) { a.SomeMethod(); }
23 名前:デフォルトの名無しさん mailto:sage [2013/11/28(木) 22:30:42.48 ] >>21 左様
24 名前:デフォルトの名無しさん mailto:sage [2013/11/28(木) 22:36:38.05 ] 成程
25 名前:デフォルトの名無しさん mailto:sage [2013/11/28(木) 22:36:49.73 ] >>19 それは void Hoge(MyClassB b) { } を書かなくてもAにぶち込めるはずって事ですか? 今テスト用に書いたコードでは行けたっぽくて 元々詰まってたのは「オーバーロードメソッドには無効な引数がいくつか含まれます」って 出てきて絶賛大混乱中なんですが
26 名前:デフォルトの名無しさん mailto:sage [2013/11/28(木) 22:45:38.23 ] reflectionを使うのが定石だよ
27 名前:デフォルトの名無しさん mailto:sage [2013/11/28(木) 22:53:52.32 ] >>21 多分それです >>22 それも>>25 と同じエラーが出ます そしてどこに躓いてるか今わかりました static void Hoge(MyClassA a) {} static void Hoge(List<MyClassA> a) { } Hoge(new MyClassD()); ←これは通る Hoge(new List<MyClassD>()); ←これが通らない Listの方をしたいんですがどうにかなりませんか
28 名前:デフォルトの名無しさん mailto:sage [2013/11/28(木) 22:58:47.13 ] むちゃくちゃ言ってんぞおい
29 名前:デフォルトの名無しさん mailto:sage [2013/11/28(木) 22:59:02.04 ] それは全く別の問題 IList<T>とparams T[]のオーバーロードを併用するとかか
30 名前:デフォルトの名無しさん mailto:sage [2013/11/28(木) 23:10:24.89 ] >>26 ググったけどよく分かりませんでした >>29 paramsの使いドコロが分かりません 結論としてはListではそのままだと無理だから 工夫できないなら諦めろってことですか?
31 名前:デフォルトの名無しさん mailto:sage [2013/11/28(木) 23:12:26.35 ] 入門書を読もうか・・・
32 名前:デフォルトの名無しさん mailto:sage [2013/11/28(木) 23:16:18.54 ] 型引数とインターフェースでできそうな気がするけど、何が問題なの?
33 名前:デフォルトの名無しさん mailto:sage [2013/11/28(木) 23:24:06.86 ] 使ったことないワードが出すぎて頭沸騰しそうなので 実際動作するコードで教えてほしいです
34 名前:デフォルトの名無しさん mailto:sage [2013/11/28(木) 23:28:39.54 ] List<MyClassD> list = ... list.ForEach(myClass => Foo.Hoge(myClass));
35 名前:デフォルトの名無しさん mailto:sage [2013/11/28(木) 23:30:07.86 ] void Hoge(params MyClassA[] a) { Hoge((IEnumerable<MyClassA>)a); } void Hoge(IEnumerable<MyClassA> a) { // 処理 }
36 名前:デフォルトの名無しさん mailto:sage [2013/11/28(木) 23:40:43.89 ] >>34 名前 'Foo' は現在のコンテキスト内に存在しません。 >>35 class MyClassA { public string str = "kumaaaaa";} static void Hoge(MyClassA a) { Console.WriteLine(a.str); } ←出来る static void Hoge(IEnumerable<MyClassA> a) { // 処理 Console.WriteLine(a.str); ←出来ない } たすけて
37 名前:デフォルトの名無しさん mailto:sage [2013/11/28(木) 23:44:20.78 ] foreach(var b in a) { Console.WriteLine(b.str); }
38 名前:デフォルトの名無しさん mailto:sage [2013/11/28(木) 23:53:24.07 ] できた!できたかも!!ありがとみんな!
39 名前:デフォルトの名無しさん mailto:sage [2013/11/29(金) 02:27:11.27 ] よかったなチンカス
40 名前:デフォルトの名無しさん mailto:sage [2013/11/29(金) 07:33:51.32 ] ラムダ式についてなんだけど、定義と同時に実行ってできませんか? static readonly 型 定数名 = [インスタンス生成、基本的な設定] みたいな感じで
41 名前:デフォルトの名無しさん mailto:sage [2013/11/29(金) 09:33:46.29 ] それを含んでるクラスの静的コンストラクタで実行したらいい
42 名前:デフォルトの名無しさん mailto:sage [2013/11/29(金) 12:33:34.73 ] それが一番だろうなぁ。 実行して返すメソッドを定義するって手もあるけど、 型推論が効かなくなるので使いやすくはない。
43 名前:デフォルトの名無しさん mailto:sage [2013/11/29(金) 12:35:56.73 ] プロパティの設定ぐらいなら Application.Run(new Form() { Text = "simple form", Width=200, Height=100 });
44 名前:デフォルトの名無しさん [2013/11/29(金) 17:04:04.88 ] Visual Studio 2013を使用しています。 標準のレポート機能の情報がMSのマニュアル以外はネット上にほとんどないんですが これって使ってる人少ないんでしょうか?
45 名前:デフォルトの名無しさん mailto:sage [2013/11/29(金) 23:44:24.31 ] vs2013入れるのは早すぎたわ アドインが全然ない ソースソートしてくれるやつほしいのにな 早く対応してくれよ
46 名前:デフォルトの名無しさん mailto:sage [2013/11/29(金) 23:45:01.10 ] ソースソートって何をするものなんだ
47 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 00:39:36.88 ] VS2013は、たまにコード補完機能が動かなくなる時がある
48 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 01:45:16.19 ] コードソートだ あれ便利だったのになー
49 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 01:46:11.33 ] それでコードソートは何をするんだ・・・?
50 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 03:28:25.66 ] メソッドやフィールドを綺麗に並べてくれたりするんだよ
51 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 08:19:47.54 ] CodeSorter CodeSorter is highly customizable extension that allows it's users to sort C# code by various conditions such as names, types (method, class, struct, ...), visibility modifiers (private, public, ...), constness modifiers (const, static, readonly) and virtuality modifiers (virtual, override, new, ...). visualstudiogallery.msdn.microsoft.com/3482faf3-5519-4df9-afb1-c66f184766ac たしかに便利そうだが2010で打ち止めか
52 名前:デフォルトの名無しさん [2013/11/30(土) 11:25:55.11 ] System.IO.BinaryReader br = new System.IO.BinaryReader(st); brから一気にバイト列を読み込みたいんです。 ReadBytes()だとサイズ指定がありますが 元のストリームがHTMLの為上手くサイズが取得出来ないんですがどのようなやり方があるでしょうか? ・ReadBytes()の代わりに一気に読み込めるメソッドはあるか? ・ReadBytes()に指定するHTMLサイズを取得する為の方法は何か? どちらかが分かれば解決するのですが。
53 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 11:29:24.79 ] HTTPのヘッダには普通Content-Lengthがあるだろ 無ければMemoryStreamにでもCopyToしてToArrayじゃないの
54 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 11:32:19.80 ] >>53 それが場合によってはContent-Lengthを返さないサーバがあるらしいので この方法だと不安なんです… 後者の方法はどうやるのか少しご教授願えませんか?
55 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 11:35:29.60 ] using(var ms = new MemoryStream()) { st.CopyTo(ms); return ms.ToArray(); }
56 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 11:39:29.76 ] C#とVB.netの違いってなに? C#もポインタは、実際は使えるようで使えないみたいだし。
57 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 11:42:30.41 ] >>55 バッチリできました!ありがとうございます!
58 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 11:42:47.17 ] VB.NETの演算の言語仕様はILとの整合性が低いので コンパイル時にクソみたいなヘルパー関数呼び出しが大量に生成されます あとTry-Catchもゴミまみれになる
59 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 11:45:05.84 ] 根拠は?それほど違わないよ
60 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 11:46:33.99 ] chunkedだとContent-Lengthを返してはいけない chunkedだと全部読み取るまでコンテンツサイズは判明しない HTTP1.1の仕様のせい chunkedがないとgzip等を返す場合一度tmpに出力しないといけなかったので サーバー側は効率的ではあるのだが
61 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 11:48:43.83 ] いやヘルパー関数呼び出し大量発生は確かにその通りだよ 根拠はildasm C#も2.0からはILとどんどん乖離していってるけど、VBランタイム相当のC#ランタイムが必要になるのはdynamicだけだね
62 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 11:54:22.71 ] >>60 そんな問題があったのですね。勉強になりました!
63 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 13:30:23.90 ] そういえばBooleanとString型の動作が少し違うな
64 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 19:16:18.54 ] XMLから要素名のわからない要素を取り出したいのですがどうすればよいでしょうか? 例えば、以下の様にOptionalAttributeという要素があり、 その場合は子要素を読み込み、要素名を取得したいと考えています。 どのようなメソッドを使えば良いでしょうか? <AA Name="A1" Category="" Index="1"> <OptionalAttribute> <BType> <Value>A</Value> <BType> </OptionalAttribute> なにとぞご教授ください。
65 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 19:24:39.87 ] XMLパーサーは何のクラス使ってるんだよ
66 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 19:56:19.49 ] 要素名の分からない要素とかXMLの設計が悪いんじゃ・・・何のための属性だよ
67 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 20:01:07.71 ] XAMLの悪口は止めろ まあOptionalかどうかは要素の有無で判断するのが普通だと思うけど
68 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 20:03:43.33 ] 下のようなプログラムのとき string s; の宣言のときにnullをつっこんでるのはなぜ? どーせ、すぐにsr.ReadLine()によって設定されるのに。 string s = null; while((s = sr.ReadLine()) != null) { Console.WriteLine(s); }
69 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 20:07:00.42 ] 俺は無くてもいいものは書かない派
70 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 20:10:39.70 ] 俺も書かないので分かりません
71 名前:68 mailto:sage [2013/11/30(土) 20:12:17.64 ] でも、教科書等々のサンプルソースなんかでは、よくこういうソースが出てくるん なんで?
72 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 20:16:51.01 ] それは著者の気持ちを答えなさいってことか?
73 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 20:18:12.13 ] うん。 CやC++のmalloc()、free()名残?
74 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 20:19:55.14 ] 代入をしないと変数定義できない言語の使い手なのではないか 世の中にはそういう難儀な言語もある
75 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 20:20:46.73 ] 警告、エラー避けじゃね? string s; Console.WriteLine(s); だとエラーだし まあ、コンパイラに警告されない限り代入の必要はないと思うけど
76 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 20:21:26.14 ] Pythonの悪口は止めろ
77 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 20:23:08.82 ] Cなんかは変数宣言の段階じゃ初期値不定だからその名残でやってるんだろうな 別に悪い習慣ではないと思うがC#じゃいらんな
78 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 20:27:10.41 ] whileならいいけど、forとかusingとかの中で設定したあとブロック抜けた先で使いたい場合とかあるじゃん?
79 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 20:30:17.67 ] 未定義になるコードパスがあったのを いろいろいじっているうちにそのままになってた ということもよくある話
80 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 20:30:19.24 ] >>78 これだろうな
81 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 20:31:34.92 ] stringだったら初期化にはString.Empty使うけどな
82 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 20:35:25.16 ] String.Emptyに初期化する必要性ない限りnullでいいよ わずかだけど、null初期化の方がコストも少ないし
83 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 20:35:53.52 ] ローカル変数をstring.Emptyで初期化したほうが都合がいい場面って思いつかない
84 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 20:57:53.97 ] Datatableって、なんで任意の列だけを対象にして検索して、見つかった行の番号を返すって、良く使うコードが実装されてないの?
85 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 20:58:09.94 ] 想像力の貧弱さの告白乙
86 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 20:59:56.17 ] じゃ、おしえて
87 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 21:17:15.48 ] var i = dataTable.AsEnumerable().ToList().FindIndex(r => r["column"].Equals(value)); とか書くと初心者にはすごく見えるし初心者以外には馬鹿にされるからおススメ
88 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 21:21:37.65 ] >>85 煽るな障害者
89 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 21:37:57.15 ] >>85 わかんないんじゃんw
90 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 21:42:05.82 ] 主キーじゃなきゃ重複するだろ常識的に考えて っていう理由じゃないかな
91 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 21:52:57.75 ] そもそもRDBのテーブルという概念は行の集合なので行番号は持たないのですよ
92 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 21:55:18.86 ] こんな10行で書ける処理に文句を垂れる奴は専用メソッドがあったところで 「DataColumnって何ですか」とか言い出すに決まってる
93 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 21:56:05.37 ] >>65 XDocumentとXElement使ってます
94 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 22:00:27.38 ] DescendentsとかでOptionAttributeさがしてそのElements().First()のNameとかそんなん
95 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 22:01:59.03 ] >>94 ありがとうござます! 試してみます!
96 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 22:03:26.23 ] .Elements("OptionalAttribute").Elements()の方がいい気がする
97 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 22:06:13.01 ] >>96 OptionalAttributeがないとクラッシュするじゃん
98 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 22:07:32.60 ] >>92 10行もかからねーだろw
99 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 22:20:52.53 ] intとDataRow型の宣言をしてforとifをブロックで書くとジャスト10行だけど煽ってコード書かせようってクチ?
100 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 22:22:17.13 ] ※ここの住人は「まず煽る」ことから始めるのでスルー能力を磨いてから書き込みましょう
101 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 22:24:28.37 ] じゃあ俺はElementとElementsの違いに気づかない>>97 を煽る
102 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 22:24:54.52 ] いや87ででてるじゃん? まだ冗長だけど
103 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 22:27:09.40 ] >>96 こういうコードたまに見るけど、もうなんというか 最も酷い
104 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 22:30:24.43 ] ユーザーコントロールを継承したクラスAを更に継承したクラスBを Formに動的に追加してクリックイベントを発生させたいのだけど クラスBでクリックイベントが発生しません 大部分の機能は同じだけどクリックされたときの挙動を幾つか用意したいので クラスB1、B2のように作っていこうと思っているんだけどどうすればいいですか?
105 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 22:30:37.05 ] >>87 はわざとお話にならないように書いたコードだぞ
106 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 22:32:34.62 ] >>105 それ以外の書き方を知らない人間はそうやって道化を演じるしかないからな
107 名前:デフォルトの名無しさん mailto:sage [2013/11/30(土) 22:42:05.55 ] >>104 OnClick呼んでないとかイベントハンドラー登録してないとかそんな感じだろ
108 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 00:42:00.21 ] >>84 DataRow[] rows = datatable.Select("xxx = ..."); じゃだめなの? こういう意味じゃ無い?
109 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 00:42:19.02 ] もしかして子コントロールのイベントはユーザーコントロールを継承したクラスAでしか取得できない? クラスBで取得するにはコードでイベントハンドラを登録させるしかないのかな?
110 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 01:33:02.14 ] なぜかコンストラクタが削除されてて InitializeComponentメソッドが読まれてなかっただけだった 慣れない継承したからてっきり継承のせいだと思ってた
111 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 01:55:04.14 ] あ、ちがった、やっぱり継承先では継承元の子コントロールのイベントは取得できないみたい
112 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 02:14:29.08 ] コントロールAをこうすればいいでしょ protected virtual void button1_Click(object sender, EventArgs e) { }
113 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 02:56:37.81 ] それでいけました あと、コントロールのmodifiersをProtectedにしてもできた でも他のクラスから直接コントロールを操作できるようにするは作法としてよろしくないのかな やっぱり>>112 のように触ってもいいところだけ仮想メソッドなりで公開するのがいいのかな
114 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 06:03:19.27 ] private void button1_Click(object sender, EventArgs e) { this.OnButton1Click(); } protected virtual void OnButton1Click() { } こんな感じ
115 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 09:39:09.03 ] >>99 どうやったら10行も必要なの? int i = datatable.Rows.IndexOf(datatable.Select(".............")[0]);
116 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 09:48:33.34 ] 公式に10行で云々ってページがあるからさw
117 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 09:55:46.23 ] >>115 それ全件検索→配列作成→順次検索だからforで回すのの平均1.5倍かかるぞ 構文解析のコストとか無視しても
118 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 09:58:23.31 ] ついでに言うと短くしたいのならパフォーマンスがいいのは.Select().FirstOrDefault()とか
119 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 10:03:28.82 ] 3倍だったわ
120 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 13:00:31.86 ] C#er が速度なんて考えてるとはおもわなんだ!!!
121 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 13:23:39.21 ] その程度の速度差が気になるならデータセットは使えないでしょうが
122 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 13:28:58.22 ] 速度無視しても>>115 はありえない 全レコード該当した場合n要素の配列が2個必要だぞ
123 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 13:29:00.90 ] 前提条件が提示されていない中で 各々のポリシーに従って不毛な言いあいを続けるようなら また両方にまぎれて煽りますよ 12時間くらい
124 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 13:29:32.23 ] 普通にforで回すのが最速だと思う
125 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 13:31:40.19 ] 今回はポリシー云々じゃなく万人が認めるべきアホなコードだから不毛じゃない
126 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 13:44:14.64 ] ほう。 こんな表現もあったか。 データ件数が100件程度以内なら int i = datatable.Rows.IndexOf(datatable.Select(".............")[0]); でいいなぁ。上にコメントでもつけてくれれば。
127 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 13:50:52.86 ] 自演
128 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 13:53:20.67 ] filterExpressionが原因のバグが頻発しそう
129 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 14:02:42.61 ] 頻繁するかは分からないけどリスクはあるよね
130 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 14:39:36.83 ] VBのほうが利用者多いんでしょ。 C#とVBに差がないんならC#を何で選ぶの? C一族なの?
131 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 14:47:44.76 ] VB6から抜け出せない人用だし、選ぶ積極的理由が無いよ
132 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 14:54:36.05 ] 利用者が多いってのは何の統計なんだね
133 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 14:58:13.95 ] 当方C一族でして
134 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 15:04:00.18 ] リーナス・トーバルズ曰く *YOU* are full of bullshit. C++ is a horrible language. It's made more horrible by the fact that a lot of substandard programmers use it, to the point where it's much much easier to generate total and utter crap with it. Quite frankly, even if the choice of C were to do *nothing* but keep the C++ programmers out, that in itself would be a huge reason to use C. だいたいこれと同じ理由
135 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 16:40:56.88 ] VBコードなんて見づらくて最初からやる気しなかったな
136 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 17:52:29.22 ] スクリプトで遊び始めた頃にvbscriptを見るとなぜか吐き気を催したので javascriptを選択してしまった流れで
137 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 18:14:32.16 ] >>130 低レベルなコードも書きたいならC# COMと相互運用したいならVB.NET 常識だろ
138 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 18:14:34.87 ] C一族の者に御座る
139 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 18:16:20.04 ] Dim Unko As String string unko; どっちが見やすいかな?
140 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 19:56:01.66 ] vbはこれができるんだぜ Dim number = 1, text = "hoge"
141 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 19:59:18.75 ] だからどうしたというレベル
142 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 20:02:11.62 ] ムムム If 5 == 5 Then Console.WriteLine(); End If if (5 == 5) Console.WriteLine(); どっちが見やすいんだよ?
143 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 20:10:15.18 ] C#スレで聞いてどうする
144 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 20:33:46.18 ] If 5 == 5 Then Console.WriteLine();
145 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 20:34:19.66 ] まだ間違ってるぞ If 5 = 5 Then Console.WriteLine()
146 名前:デフォルトの名無しさん mailto:sage [2013/12/01(日) 20:44:30.76 ] l'''-、 .t―--、 .!¬、 > 、 r‐ , >-、 >、___ .lヽ,,| il,,..、 ,ゝ--′ | | 、 / ./ t-、 ,,, | レ''') ! . ゝ、,. t, > `! ゙ヽ、 __,ノ , -''',゙ ̄''、 <゙゙´ レ'',゙ ̄\ .l゙‐''"゛.,i、`'i lヽ _,_._,,、 ヘ ̄ .,,..-',゙ _ ト‐'" .,i l, l.ヽ / .厂 ̄゛ / !/ ,l_r-,.´>、 ヽ,,./ | .l `フ / ̄│ .l `-7 ./ .l .! .l l l'‐'゙/'''''''、.ヽ / /ィニ二_,,,ノ ゝ7 ./ .l ! ゙l l .! !_.. - 、. ヽ、 ./゙l .l l ! / ! } ! / ./ l /!││゙''" .} | l゙ / ,,.'"゛ / ./ l l | |.l ン"゙゙''、 ヽ .! l ̄ .,ノ | ノ ノ∠ ! ノ ノ / .iト,,ノ / .゙''゙ / . l ,/ / ./.! ._....、./ .,l ト,,/ / .゙''゙ L./ / } .ヽ `゙゛ . / ._,,/_,/ .! l ∠‐" |__/ ヽ ./ ._.. ‐,゙..-゙ ! / .l、.´ ,!| ./ l ./ . __,, / ,.ノ .`゙゙゙゙゙゛ `⌒ `゛ `´ .  ̄´ `" `"'''''"゛ `゛ `゙'''''゙゙´
147 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 01:46:32.63 ] VBって未だにサブルーチン呼び出しは括弧付けたら駄目っつー変態バカ仕様でやってんの?
148 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 02:10:49.67 ] ListViewでListViewItem一個一個に ユーザーデータを追加させたいのですが (MFCのCListCtrlのSetItemData/GetItemDataみたいなやつ) どのようにすればいいでしょうか?
149 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 06:47:01.04 ] Tag
150 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 08:13:07.79 ] ListViewを継承してお好きなプロパティでもなんでも持たす
151 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 08:13:48.83 ] ×ListViewを継承してお好きなプロパティでもなんでも持たす ○ListViewItemを継承してお好きなプロパティでもなんでも持たす
152 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 08:49:50.39 ] コントロールは多くのプロパティをオーバライドできないのだけど どういう設計思想なのこれは?
153 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 10:16:32.35 ] いいから黙って書け
154 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 12:19:57.30 ] >>152 .NetのComponentモデルの世界では 基本的にメソッド呼び出しやプロパティの読み書きは実行時に解決して呼び出す決まりで ライブラリもそうなってるしユーザコードもそれに従わなくてはならない(まあ従わなくても動く事が多いが) だからoverridesはなくshadowsを使えば良い
155 名前:デフォルトの名無しさん [2013/12/02(月) 12:45:21.71 ] c#は最終的にはlinuxでも標準になるん?
156 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 13:53:00.15 ] C#で小数点を扱う場合、doubleの方が良いのでしょうか? 単純な計算の繰り返しだけならfloatの方が若干早くなりますが、 doubleとfloatが混ざってキャストしたりすると遅くなるので、 計算式にもよると思うのですが、doubleで統一しておいた方が無難でしょうか? よろしくお願いします。
157 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 13:56:04.19 ] floatの利点は格納スペースが少なくてすむくらいかな
158 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 13:58:40.96 ] floatとdoubleの比較ならまあdouble一択でいいだろ decimalとの比較は用途次第
159 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 14:53:24.25 ] >>157-158 ありがとうございます。 fを付け忘れたり、ただ割っただけですとdoubleにキャストしてしまいますので、 そこまで精度が必要で無くてもdoubleにて計算するようにします。
160 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 15:21:19.54 ] >>147 call 書けよ
161 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 15:55:58.31 ] >>149 ありがとう
162 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 20:42:14.83 ] 型 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' の初回例外が Microsoft.CSharp.dll で発生しました これが大量に出るのを抑制する方法はありますか?
163 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 21:14:30.01 ] vc2010を使っています 現在作成しているソリューションの一部を後々使いまわせるようにdll化したいと思っています 調べると別ソリューションを作成してクラスライブラリとして作成、コンパイルすればdllすることができるとあったので、別ソリューションで作成し、参照することも出来ました ただ、今後の開発を考えると1つのウィンドウで作業していきたいのですが、異なるソリューションを同じウインドウで開発したり、 dllを参照している側でコンパイルするとdll側もコンパイルされるような設定はできますでしょうか? 別ウィンドウで作業し、dll側をコンパイル後、参照側をコンパイルすることしかできないのでしょうか
164 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 21:23:35.68 ] >>163 ソリューションからプロジェクト追加
165 名前:デフォルトの名無しさん mailto:sage [2013/12/02(月) 21:25:04.58 ] 依存関係の設定を忘れないように
166 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 14:35:06.49 ] ありがとうございます 「既存のプロジェクト追加」でdll側のcsを追加し、「参照の追加」でdll側のソリューションの作成したdllを指定しています しかし「既存のプロジェクト追加」で追加したcsを編集してもdll側のcsには反映されてないようで、ビルドした際にもdll側のビルドはされていないようです 依存関係というのが大切そうなので、調べてみたところソリューションのプロパティから「プロジェクト依存関係」まで辿り着いたのですが、 dll側のプロジェクトが表示されておらず、設定ができませんでした なにか設定が足りないのでしょうか
167 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 14:39:22.88 ] 使いまわすだけならdllにしなくてもいいって疑問は無し?
168 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 14:50:36.50 ] とりあえず参照の追加で指定するのはdllプロジェクトかな、普通は
169 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 15:04:10.35 ] 説明不足ですみません もちろんdllを指定しています >>167 他のアプリで使ったりと色々としたいことがあるので
170 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 15:17:00.61 ] 追加するのはdllじゃなくてプロジェクトだぞ
171 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 15:18:39.21 ] もしかしてつかってるVSってEXPRESSか? 複数プロジェクトいけるEXPRESSっていつからだっけ
172 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 16:12:00.06 ] ありがとうございます EXPRESSを使っています いろいろ試してみて メニューバーのプロジェクトの「既存のプロジェクト追加」ではなくソリューションエクスプローバーでソリューションを選んで「追加」を選択すると 「プロジェクト依存関係」が設定できるようになり、使用側のビルトでdll側もビルドされるようになりました この2つが別物だったんですね・・・ もう1つ教えてください 上記の過程でdll側を一度ソリューションから作りなおしたのですが、今度はdllを参照に指定してもusingの宣言で「usingもしくはアセンブラがないよ」と言われるようになってしまいました オブジェクトブラウザで見るとdllの名前空間が表示されておらず、ソリューションエクスプローバーのコンテナにはdllが表示されているという歪な状態になっています 試しに別名のtestというソリューション名、class1と言うクラス名でdllを作ってみると無事参照されてしまいました dllのnamespace、class名が怪しいのかと思って確認しましたが、統一されてました 「オブジェクトブラウザで見るとdllの名前空間が表示されておらず、ソリューションエクスプローバーのコンテナにはdllが表示されているという歪な状態」についてわかることはありませんか?
173 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 16:35:07.83 ] すいません、自己解決しました classにpublic付けてませんでした・・・ アホすぎわらえない
174 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 16:58:57.81 ] >>173 m9
175 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 17:03:21.71 ] >>173 どんまい
176 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 18:16:38.97 ] まずソリューションとプロジェクトとDLLの区別付ける所から初めて下さい
177 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 19:48:28.78 ] >>173 安心しろ。俺もはまったことがあるw
178 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 20:14:05.93 ] だから全部publicにしろって言ったんだ。
179 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 20:18:32.34 ] 全部グローバル
180 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 20:26:05.45 ] 全部スタティック
181 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 20:38:07.94 ] 全部下請け
182 名前:デフォルトの名無しさん [2013/12/03(火) 21:37:39.54 ] デバッグなしで実行とデバッグありで実行って 挙動としては何が違うんですか?
183 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 21:47:20.68 ] デバッグするかしないか
184 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 21:49:14.97 ] デバッガの子になるかならないか
185 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 23:33:53.23 ] アクセス修飾子の最適化問題はNP困難な割にやったところで大したメリットが無いから 解こうとしないほうが良い
186 名前:デフォルトの名無しさん mailto:sage [2013/12/03(火) 23:44:24.00 ] アクセシビリティのエラーとか忘れること多いわ
187 名前:デフォルトの名無しさん [2013/12/04(水) 00:03:07.88 ] Windows フォーム アプリケーション で、チェックボックスを使って 5つの選択肢の中から1つしか選択できないようにする方法ってありますか?? 例えば、二つ目を選択しようとしたら、前に選択したチェックボックスのチェックは ちゃんと消える、みたいな… 要するにアンケートみたいなものを作りたいんです なんかわかりにくくてすみません
188 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 00:14:34.11 ] >>187 そういうケースではCheckBoxじゃなくてRadioButtonを使うのがWindowsのルールですよ
189 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 00:20:20.46 ] >>187 釣りだろ ラジオボタン以外ありえんだろ
190 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 00:22:49.05 ] なんでも釣り釣りって
191 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 00:25:47.81 ] ラジオボタンはHTMLでもWindowsでもそのほかでも当たり前のように存在してるけど あれをラジオのボタンと言われてもピンと来ないな
192 名前:デフォルトの名無しさん [2013/12/04(水) 00:26:05.27 ] ラジオボタンでしたか すみません ラジオボタンにした場合、どうしたらよいのでしょうか??
193 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 00:28:58.22 ] 同じフォーム、同じパネル、同じグループボックスに放り込めば勝手に排他される
194 名前:デフォルトの名無しさん [2013/12/04(水) 00:33:01.13 ] >>193 ありがとうございます!!調べてみたらいけそうです!!
195 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 00:33:50.24 ] そういやCheckBoxの中間のやつってどうするの trueでもfalseでもないやつ CheckBox.Checkedってnull非許容型だよね?
196 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 00:38:02.50 ] CheckState.Indeterminateだろ
197 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 00:39:25.09 ] そんなのあったんか サンクス
198 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 08:40:56.70 ] staticクラス使えるのに未だにシングルトン使うやつがうざい
199 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 11:56:18.46 ] SplitContainerとかTableLayoutPanel使って、Anchor設定するとサイズが自動でグリグリ動いて気持ちいいんだけど、 ボタンとか配置した時に思うように動かないから、怖くて使えねぇ;; みんなは使いこなしてるの?
200 名前:デフォルトの名無しさん [2013/12/04(水) 13:46:18.31 ] C#でプログラミングしていて凄い発見をした。すべてstaticメソッドにするとアホみたいに捗る。 engawa.2ch.net/test/read.cgi/poverty/1386083303/
201 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 15:50:10.28 ] >>198 起動即初期化だから、staticクラスが使えない場合も少なくない
202 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 16:47:41.87 ] staticコンストラクタが動くのは、 初めて型にアクセスしたときだったような
203 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 18:01:12.07 ] >>201 それをお前に教えた奴つれて来いよ 膾にしてやる
204 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 18:13:29.76 ] www.microsoft.com/en-us/download/confirmation.aspx?id=7029 C# Language Specification 5.0 10.12 static constructors (P713-714) The execution of a static constructor is triggered by the first of the following events to occur within an application domain: * An instance of the class type is created. * Any of the static members of the class type are referenced.
205 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 19:20:47.71 ] ジェネリック型のstaticメンバーをどうやって起動時に初期化すると思ったんだろうか
206 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 19:31:49.46 ] まったく関係ない話だが、VBはインスタンスフィールドをインスタンスメンバーで 初期化できるんだよね。 安全性を考えればC#の仕様の方が妥当なんだろうけど、時々この機能があったらと思うときがある。
207 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 19:32:49.44 ] 上の初期化ってのは宣言と同時の初期化のことね。
208 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 20:03:43.93 ] そんなことよりoption引数の初期値にメンバ指定させろ
209 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 22:45:59.86 ] globalの使い道がわからん
210 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 22:51:15.22 ] 名前が被らないようにするためにglobal::System.Consoleのようにして使う 基本的にコード自動生成ツールを作るときに念のため使うもので、普通は要らない
211 名前:デフォルトの名無しさん mailto:sage [2013/12/04(水) 23:53:30.21 ] なるほど 普通は使わんな
212 名前:デフォルトの名無しさん mailto:sage [2013/12/05(木) 00:12:54.30 ] 無理やり必要にしてみる・・・ namespace Foo { class System { public const int Console = 0; } class Hello { const int Console = 7; static void Main() { global::System.Console.WriteLine("Hello"); //System.Console.WriteLine("Hello"); // error } } } extern aliasと並んで使わない機能の2トップ
213 名前:デフォルトの名無しさん mailto:sage [2013/12/05(木) 00:48:44.33 ] extern aliasはどうしても同じライブラリの別バージョンを使わないと仕方がない場合に神 一番意識して使うことが少ないのはpartial methodだろ
214 名前:デフォルトの名無しさん mailto:sage [2013/12/05(木) 06:42:21.15 ] partialメソッドはカスタムツール作らなきゃ定義する必要がないし T4のおかげで敷居は下がったのかな?
215 名前:デフォルトの名無しさん mailto:sage [2013/12/05(木) 08:56:43.65 ] 適当にHttpListener使って簡単な串作ろうとしたんだけど、 アドレスのホスト名がIPになるとListenerが受け付けてくれない。 具体的には、例えば google.co.jp/ は受け付けるけど、 同じくグーグルのアドレス 74.125.235.87/ になると Bad Request (Invalid Hostname) なんだけど、これは仕様なのかやり方が悪いのか回避方法があるのか分からないので教えてくだしあ ideone.com/XKLFdF
216 名前:デフォルトの名無しさん mailto:sage [2013/12/05(木) 08:58:14.86 ] 管理者権限が必要よ