LINQのAnyメソッドを使うと、配列・コレクションのデータ内に条件を満たす要素があるかどうか判定することができます。
LINQってなに?という方は、[C# 入門] LINQについてのざっくり解説を見てください。
Anyメソッドの使い方
Anyメソッドの引数には条件を判定するメソッドを指定します。
Anyメソッドの戻り値は、条件を満たす要素が1つ以上含まれている場合True、満たさない場合Falseが返ってきます。
条件を判定するメソッドの引数にはデータソース(配列、リストなど)の各要素が渡されます。int型の配列ならint型、クラスのリストならクラスが渡されます。
条件を判定するメソッドの戻り値は、Boolean型(True または False)です。
渡された要素が条件を見たす場合にTrue、満たさない場合にFalseを返すようにします。
ラムダ式を使って匿名関数を渡すと簡単にAnyメソッドに引数を指定することができます。ラムダ式?という方は、[C# 入門] 匿名関数(ラムダ式)の使い道を見てください。
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
public static void Main()
{
var list = new List<int> { 1, 2, 3, 4, 5, 4, 3, 2, 1 };
bool any_result = list.Any(i => i == 3);
Console.WriteLine($"要素に3があるか? = {any_result}");
any_result = list.Any(i => i == 10);
Console.WriteLine($"要素に10があるか? = {any_result}");
}
}
要素に3があるか? = True
要素に10があるか? = False
リンク
リンク
C# 記事まとめページに戻る(他のサンプルコードもこちら)
C# プログラミング講座
C#についての記事まとめページです。開発環境VisualStudioのインストール方法や使い方、プログラミングの基礎知識についてや用語説明の記事一覧になっています。講座の記事にはすぐに実行できるようにサンプルコードを載せています。
コメント