ホームページ >バックエンド開発 >C++ >単一の文字列の代わりに文字列配列で LINQ Contains を使用するにはどうすればよいですか?

単一の文字列の代わりに文字列配列で LINQ Contains を使用するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-28 04:52:14474ブラウズ

How to Use LINQ Contains with a String Array Instead of a Single String?

Contains(string) の代わりに LINQ Contains(string[]) を使用する

LINQ クエリでは、Contains 演算子を使用して、特定の値がコレクション内に存在します。デフォルトでは、Contains は単一の文字列をパラメータとして受け入れます。ただし、シナリオによっては、文字列配列の複数の値を比較する必要がある場合があります。

これに対処するには、string[] のカスタム拡張メソッドを作成して、Contains 演算子で使用できるようにします。

カスタム拡張メソッド:

public static bool ContainsArray(this string[] array, string value)
{
    return array.Any(element => element == value);
}

このメソッドは文字列配列を反復処理し、次の場合に true を返します。指定された値が見つかった場合、そうでない場合は false です。

LINQ クエリでの使用:

拡張メソッドを定義すると、それを LINQ クエリで使用できるようになります:

var uids = new[] { "1", "45", "20", "10" };
var query = from xx in table
            where xx.uid.ToString().ContainsArray(uids)
            select xx;

ContainsArray 拡張メソッドを使用すると、xx.uid の値を次の複数の値と比較できるようになりました。 uid 文字列配列。クエリは、指定された配列内に xx.uid が含まれるすべてのエンティティを返します。

以上が単一の文字列の代わりに文字列配列で LINQ Contains を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。