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 サイトの他の関連記事を参照してください。