C#のAll()メソッドとは?使い方とサンプルコードをわかりやすく解説
C#のAll()拡張メソッドは、System.Linq名前空間に属するLINQ標準クエリ演算子の一つです。このメソッドを使用すると、コレクション(配列やリストなど)内のすべての要素が指定した条件を満たしているかどうかを簡単に判定できます。
All()メソッドは引数としてラムダ式で条件を受け取り、すべての要素がその条件を満たせばtrue、一つでも満たさない要素があればfalseを返します。戻り値の型はboolです。
基本的な使い方
まず、判定対象となる配列を用意します。
int[] arr = { 6, 7, 15, 40, 55 };次の例では、配列内のすべての要素が「2以上」であるかどうかをチェックしています。
arr.All(element => element >= 2);
ラムダ式 element => element >= 2 の部分が各要素に対して評価される条件です。この配列の場合、6・7・15・40・55 のすべてが2以上なので、結果はtrueになります。
サンプルコード
以下に完全なコードを示します。
using System;
using System.Linq;
class Program {
static void Main() {
int[] arr = { 6, 7, 15, 40, 55 };
// すべての要素が2以上かどうかを判定
bool res = arr.All(element => element >= 2);
Console.WriteLine(res);
}
}実行結果
True
補足:条件を満たさない場合の動作
もし配列に条件を満たさない要素が1つでも含まれている場合は、結果はfalseになります。例えば、配列が { 6, 7, 15, 0, 55 } のように0を含む場合、element >= 2 を満たさないため出力はFalseとなります。
また、All()メソッドは空のコレクションに対しては常にtrueを返す点にも注意してください。これは数学的な「全称量化(すべての要素が条件を満たす)」の定義に基づいた仕様です。
同様のLINQ演算子として、「いずれかの要素が条件を満たすか」を判定するAny()メソッドもあります。用途に応じて使い分けるとよいでしょう。
-
C#のGroupBy()メソッドとは?要素をグループ化する使い方を解説
GroupBy()メソッドとはC#のGroupBy()は、System.Linq名前空間に用意されている拡張メソッドの一つです。指定したキー値に基づいてコレクション内の要素をグループ化し、その結果をIEnumerable<IGrouping<TKey, TElement>>として返します。各グループにはKeyプロパティが割り当てられ、同じキーを持つ要素がひとつのまとまりとして扱われます。サンプルコードまず、次のような整数型の配列を用意します。int[] arr = { 2, 30, 45, 60, 70 };この配列に対してGroupBy()を使い、「50以下の要素」と
-
C#のCompareTo()メソッドの使い方を解説
C#では、2つの値を比較する際にCompareTo()メソッドを使用します。このメソッドは、呼び出し元の値と引数で渡した値を比較し、その大小関係を整数値として返します。CompareTo()メソッドの戻り値CompareTo()メソッドの戻り値は以下の3パターンです。0 = 両方の値が等しい場合1 = 呼び出し元の値が引数の値より大きい場合(第2の数値が小さい)-1 = 呼び出し元の値が引数の値より小さい場合(第1の数値が小さい)CompareTo()メソッドの実装例それでは、C#でCompareTo()メソッドを実装するサンプルコードを見てみましょう。ここでは、同じ値を持つ2つのint型変数