List<myType>から最大値を取得する
2023-10-20 09:09:15
質問
私はリスト
List<MyType>
で、私の型には
Age
と
RandomID
さて、このリストから最大年齢を求めたいと思います。
最もシンプルで効率的な方法は何でしょうか?
どのように解決するのですか?
なるほど、LINQがなければハードコードすればいいんですね。
public int FindMaxAge(List<MyType> list)
{
if (list.Count == 0)
{
throw new InvalidOperationException("Empty list");
}
int maxAge = int.MinValue;
foreach (MyType type in list)
{
if (type.Age > maxAge)
{
maxAge = type.Age;
}
}
return maxAge;
}
あるいは、より一般的なバージョンを書いて、多くのリストタイプで再利用できるようにすることもできます。
public int FindMaxValue<T>(List<T> list, Converter<T, int> projection)
{
if (list.Count == 0)
{
throw new InvalidOperationException("Empty list");
}
int maxValue = int.MinValue;
foreach (T item in list)
{
int value = projection(item);
if (value > maxValue)
{
maxValue = value;
}
}
return maxValue;
}
と一緒に使うことができます。
// C# 2
int maxAge = FindMaxValue(list, delegate(MyType x) { return x.Age; });
// C# 3
int maxAge = FindMaxValue(list, x => x.Age);
あるいは LINQBridge :)
いずれの場合も、ifブロックを返すには、単純な呼び出しで
Math.Max
を使うことができます。例えば
foreach (T item in list)
{
maxValue = Math.Max(maxValue, projection(item));
}
関連
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] リストが空かどうかを確認するにはどうすればよいですか?
-
[解決済み] リストを均等な大きさの塊に分割するには?
-
[解決済み] リストの最後の要素を取得する方法
-
[解決済み] リストからランダムに項目を選択するにはどうすればよいですか?
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] 2つのリストを辞書に変換するにはどうしたらいいですか?
-
[解決済み] List<T>をオブジェクトのプロパティでソートする方法
-
[解決済み] リストの要素を値で削除する簡単な方法はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] リストを固定数のリストに分割する。
-
[解決済み] Rのデータフレームを一行ずつ作成する
-
[解決済み] java.util.ListをScalaのリストに変換する方法
-
[解決済み] Dart: 0からNまでのリストを作成する
-
[解決済み] R: リスト内のオブジェクトの数を数える[closed]。
-
[解決済み] なぜmap, fmap, liftMがあるのですか?
-
[解決済み] KotlinでList<T>を初期化するには?
-
[解決済み] KotlinでArrayListをフィルタリングして、条件に一致する要素だけを表示するにはどうすればよいですか?
-
[解決済み] Redisリストの全エントリを削除する
-
Kotlin - 繰り返し要素を持つミュータブルリストの作成