[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 03/30 17:15 / Filesize : 214 KB / Number-of Response : 904
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

ふらっとC#,C♯,C#(初心者用) Part43



1 名前:デフォルトの名無しさん mailto:sage [2009/07/26(日) 11:01:47 ]
このスレッドは
「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。
ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、
勇気をもって書き込んでください。
内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

前スレ
ふらっとC#,C♯,C#(初心者用) Part42
pc12.2ch.net/test/read.cgi/tech/1245836827/


883 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 10:18:14 ]
844からWebBrowserは想像できねーよw

884 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 10:53:13 ]
>>883
たぶん、紙にでもならない限りむりだろうなw。

885 名前:844 mailto:sage [2009/08/26(水) 10:54:27 ]
>883-884
すみませんw
まさかここで引っかかってると思いもしなかったので

886 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 12:32:13 ]
>>885
>すみませんw

なんだよ最後の草はバカにしてるのか

887 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 13:01:17 ]
牛乳飲め

888 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 14:01:37 ]
C++みたいに、引数で渡したオブジェクトの中身は触らないよ!みたいな指定って出来ませんか?


889 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 14:02:11 ]
void FuncA() { Console.WriteLine("A"); }
void FuncB() { Console.WriteLine("B"); }
void FuncC() { Console.WriteLine("C"); }

Action x;
Action y;

x += FuncA;
x += FuncB;
x += FuncC;
y = x;

x -= FuncB; // FuncAとFuncCが残る
y -= x; // FuncBだけ残るはず
y();

Bだけ表示されると思ったのですが、A, B, C全て表示されました。
x -= FuncAやx -= FuncCにした場合は、ちゃんとAだけCだけ表示されます。
なぜでしょうか?

890 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 14:34:38 ]
delegate の -= はコンパイル時に Delegate.Remove に解決される。
で、Delegate.Remove の解説はこれ。
> value の呼び出しリストが source 呼び出しリスト内の隣接している一連の要素と一致する場合は、
> source の呼び出しリスト内に value の呼び出しリストが含まれていると見なされます。
> value の呼び出しリストが source の呼び出しリスト内に複数回出現する場合は、
> 最後に出現した呼び出しリストが削除されます。

x -= FuncB すると x には FuncA, FuncC というリストが残る。
y は FuncA, FuncB, FuncC というリストだから、
「リスト内の隣接している一連の要素」に一致しなくなる。

891 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 14:47:11 ]
>>888
必要とされる理由がないので無い



892 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 15:00:03 ]
>>888
俺もそれ欲しいんだけどなあ。
Dictionaryとか参照だけさせたいときは読み取り専用ラッパで包むしかないんだろうか。

893 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 16:28:23 ]
>>867
ありがとう。参考にさせてもらいます。
思ったより長くなるんですね

894 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 17:22:34 ]
>>891
このメソッドに渡すこのインスタンスは中身が変更されるんだろうか?
って気になることあるじゃんか

サマリーに明記するしかないのかね
例外なんかはサマリーにかけるよね

895 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 17:39:42 ]
そういう場合インスタンス渡さないから気にならないなあ。

896 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 17:59:29 ]
何でもかんでもListとか要求する関数とか書いてそうだな>>892>>894

897 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 18:33:51 ]
C++でconstを活用してない人は疑問に思わないんだろうな

898 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 18:39:25 ]
次はフレンドクラス作れるようにしろとでも言い出すのかよ
バカか

899 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 18:42:19 ]
馬鹿ですけど何か文句あるか?

900 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 18:45:45 ]
>>896
で、こういう場合C#ではどうするの?

901 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 18:46:37 ]
>>897
学習能力衰えた脳筋はC++から出てくんなハゲ。



902 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 18:49:24 ]
>>900
例となるメソッドとクラスを提示してくれよ。

903 名前:デフォルトの名無しさん mailto:sage [2009/08/26(水) 19:05:34 ]
C#でやるならIReadOnlyHogeとその派生のIHoge(クラスでもいいけど)を作るのが自然だと思う。
C++のconstの概念は、実質的にそういう2つのクラスを作っているも同然だって。

まあ、IList<T>とその周辺はそういう風になっていないけどさ。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<214KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef