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で定義されてるんで直接いじれないんですよ・・・