[C# LINQ] 配列、リストに条件を満たす要素が含まれているか判定する(Any)

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# プログラミング講座に戻る

コメント

タイトルとURLをコピーしました