C#, C♯, C#相談室 Part81at TECH
C#, C♯, C#相談室 Part81 - 暇つぶし2ch11:デフォルトの名無しさん
13/10/09 23:21:42.82
List<T>でそのまま受けられるってことはGetTestListの戻り値の型はList<T>だから
全く完全に等価だよ

12:デフォルトの名無しさん
13/10/10 02:08:12.90
上の書き方だと、testListをどっかで使うのかと思う
修正するときに上の方が気を使う
パフォーマンスは、理論上はメモリもCPUも変数1個分だけ上が悪い気がするが
まあ、誤差の範囲だろうけど

13:デフォルトの名無しさん
13/10/10 05:21:13.53
ildasmで調べてみると、testListの領域は取られてるが使ってないね。
最適化で同じになる。

14:デフォルトの名無しさん
13/10/10 06:45:20.72
testListのスコープが無駄に広すぎる
描き方はいただけない

15:デフォルトの名無しさん
13/10/10 07:01:30.76
スコープか、なるほど。
>>7じゃないけど、参考になる。
デバッグ用に一旦変数に入れてから使うやり方をしてたけど、
後々のことを考えるとこっちの方がいいのかな。

16:デフォルトの名無しさん
13/10/10 09:03:02.25
GetTestListの実装しだいだろうけど
他スレッドがGetTestList触ったときの挙動の違いとかもあるかな?

17:デフォルトの名無しさん
13/10/10 10:04:59.81
コーディングルール次第かなあ。
2の書き方が許されてるなら2でいいんじゃない?

18:デフォルトの名無しさん
13/10/10 14:27:21.47
引数paramがdataを持っているか否かの真偽値を返すメソッドの命名で悩んでます

bool ValidateParamHasData(Param param);
bool CheckParamHasData(Param param);
bool HasParamData(Param param);

validateもcheckもわかりづらいから使うなとよく言われてるけど
一番下のじゃちんぷんかんぷんだしどうすればいいでしょうか

19:デフォルトの名無しさん
13/10/10 14:29:54.59
大抵はデータを持ってる結果HogeするからCanHoge

20:デフォルトの名無しさん
13/10/10 14:45:06.79
bool IsValid(Param param);

21:デフォルトの名無しさん
13/10/10 14:46:49.52
ごめんなさい、「Hogeする」の部分が「ParamがDataの場合の処理をする」としか言い様がない場合はどうすればいいでしょうか

22:18
13/10/10 14:54:48.82
ちなみにDataにはData1, Data2, Data3の3種類があってそれぞれを判別するメソッドを分ける予定です
なので>>20のお答えもちょっと無理そうです

なんかややこしくて申し訳ないです

23:デフォルトの名無しさん
13/10/10 15:50:30.27
そのDataとやらはクラス名なのか値なのかはっきりしろ
具体的にはisなのかequalなのか

24:18
13/10/10 16:07:03.66
クラス名です
「ParamがDataを持っている場合」なので使うとしたらHasかContainsかなと

>>21では「ParamがDataの場合の処理をする」と書きましたが
「ParamがDataを持っている場合の処理をする」の誤りです

25:デフォルトの名無しさん
13/10/10 16:50:02.71
ならHasDataでいいだろもう

26:デフォルトの名無しさん
13/10/10 20:25:28.53
DataAvailable

27:デフォルトの名無しさん
13/10/10 20:48:07.73
>>18
っていうか、何そのstaticおじさんみたいな手続き指向脳。
何でParamの状態をParam以外の奴に尋ねるんだよw

28:デフォルトの名無しさん
13/10/10 20:53:26.60
全力で許した

29:18
13/10/10 20:58:47.53
初心者すぎて申し訳ないです
Paramの拡張メソッドにHasDataを追加すれば良かった話ですね・・・

30:デフォルトの名無しさん
13/10/11 02:56:46.18
なぜ拡張メソッド
普通にParamにプロパティ作れよ
そのプロパティの名前で悩むなら、どっかに名前どうするか相談するスレがなかったっけ

31:デフォルトの名無しさん
13/10/11 03:11:03.20
ParamはDLLで定義されてるんで直接いじれないんですよ・・・


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch