19/10/25 23:07:56.88 GWerdevt0.net
OrderByDescending.FirstOrDefault
263:デフォルトの名無しさん
19/10/25 23:14:44.18 5pdqBhsBa.net
>>262だと計算量のオーダーが増える
先に Max で最大のItem2 (maxItem2)を求めておいて list.First(x => x.Item2 == maxItem2) のほうがマシ
264:デフォルトの名無しさん
19/10/25 23:23:22.26 6061P7ry0.net
何度も呼ぶときウゼーから関数にしろよ
265:デフォルトの名無しさん
19/10/25 23:42:07.16 5pdqBhsBa.net
経験上、こういう汎用的すぎるユーティリティ関数を自作して多用するのはお勧めしない
個人開発ならいいけど、多人数での開発になると新しいメンバーとの間で記述方法に差異を有む原因になり、結果的に負債化していくんだよ
ダサくてもこういうのは毎回ベタに書いたほうがいい
266:デフォルトの名無しさん
19/10/25 23:48:20.10 FLPxIKHC0.net
最大値持ってるタプルが複数あったら?
267:デフォルトの名無しさん
19/10/25 23:50:57.19 j4bjfcPpd.net
>>266
逆にどうして欲しいの?
268:デフォルトの名無しさん
19/10/26 00:25:28.36 ZMkO6rZZ0.net
>>267
知らんがな
269:デフォルトの名無しさん
19/10/26 00:58:09.61 rff7tW+R0.net
>>262-265
どの方法も一見正攻法ではないように見えるため、人に教えてもらわないことには勇気を出して書けませんでした
ありがとうございます
270:デフォルトの名無しさん
19/10/26 12:56:29.17 D4rlG2Pr0.net
>>265
計算量のオーダー気にしてんだろ?
他の奴が違う書き方して増えたら大変じゃん
あ、どうでもよかった?
271:デフォルトの名無しさん
19/10/26 13:18:11.26 sfokePbj0.net
素直に
int max = list.Max(tuple => tuple.Item2);
var maxValueItems = list.Where(tuple => tuple.Item2 == max);
でいいじゃん
int に重複がない前提なら Dictionary 化した方が捗る
272:デフォルトの名無しさん
19/10/26 14:40:36.29 +20I9h0L0.net
なんかいいロガー知らない?
3つのテキストに警告・注意・情報がそれぞれ安全に吐けるロガー