C#のQueryable Min()メソッドでシーケンスから最小値を取得する方法
C#では、Min()メソッドを使うことで、シーケンス(コレクション)の中から最小値を簡単に取得できます。本記事では、AsQueryable()と組み合わせて使えるQueryable版のMin()メソッドの使い方を、サンプルコード付きでわかりやすく解説します。
サンプルリストの準備
まず、最小値を求める対象となるリストを用意します。ここではlong型の数値が格納されたリストを使用します。
List<long> list = new List<long> { 1, 2, 3, 4, 5, 6 };Queryable Min()メソッドの基本的な使い方
リストに対してAsQueryable()を呼び出してIQueryable<T>に変換し、そこへMin()メソッドを適用すると、シーケンス内の最小要素を取得できます。
list.AsQueryable().Min();
完全なサンプルコード
以下は、リストの内容を表示した後、Min()メソッドで最小値を取得して出力する完全なプログラム例です。
using System;
using System.Collections.Generic;
using System.Linq;
class Demo {
static void Main() {
List<long> list = new List<long> { 1, 2, 3, 4, 5, 6 };
Console.WriteLine("リストの要素:");
foreach(long ele in list) {
Console.WriteLine(ele);
}
// 最小値を取得
long min_num = list.AsQueryable().Min();
Console.WriteLine("最小値 = {0}", min_num);
}
}実行結果
リストの要素: 1 2 3 4 5 6 最小値 = 1
ポイント解説
Min()メソッドは、IQueryable<T>やIEnumerable<T>の各要素を比較し、最も小さい値を返します。AsQueryable()を使用することで、通常のLINQ to ObjectsのコレクションをIQueryable<T>として扱えるようになります。- 空のシーケンスに対して
Min()を呼び出すと例外が発生するため、事前に要素の存在チェックを行うのが安全です。
-
C#のlong.Parseメソッドで文字列をlong型に変換する方法
C#では、文字列をlong型(64ビット整数)に変換する際に、long.Parseメソッドを使用します。数値を表す文字列をプログラム内で計算に使いたい場合などに、このメソッドが役立ちます。基本的な使い方まず、変換元となる文字列を用意します。string str = 7864646475767;次に、long.Parseメソッドを使って文字列をlong型に変換します。long res = long.Parse(str);Parseメソッドは、引数として渡された文字列を解析し、対応するlong型の数値を返します。サンプルコード以下は、文字列をlong型に変換してコンソールに出力する完全なコード例で
-
C#のList.AddRangeメソッドとは?使い方をサンプルコードで解説
C#のList.AddRangeメソッドとはList<T>クラスのAddRangeメソッドは、配列や別のリストなど「コレクション全体」に含まれる要素を、既存のリストの末尾へ一括で追加するためのメソッドです。個々の要素をAddメソッドで何度も呼び出して追加する方法と比べると、コードがシンプルになり、可読性も向上します。引数にはIEnumerable<T>型を受け取るため、配列だけでなく他のListやコレクションも指定可能です。基本的な使い方まず、C#でリストを作成し、要素をいくつか追加してみましょう。List<int> list = new List<i