たとえば、私が持っていた場合int[5] array = {1, 2, 3, 4, 5}
とint check = 5
if (check == any item in array)
確認して何かをする簡単な方法はありますか?
Contains
LINQ メソッドを使用するだけです。using System.Linq
メソッドにアクセスするには、追加する必要があります。
if(array.Contains(5))
{
//TODO do stuff
}
メソッドを使用できますEnumerable.Contains()
。このメソッドtrue
は、指定された値を持つ要素がソース シーケンスに含まれている場合に戻ります。それ以外の場合は、false
.
既定の等値比較子を使用して、指定された要素がシーケンスに含まれているかどうかを判断します。
int[] array = {1, 2, 3, 4, 5};
if(array.Contains(5))
{
Console.WriteLine("Array has an element called 5");
}
ここにデモがあります。
System.Linq
名前空間を追加することを忘れないでください。
注: メソッドの肯定的な側面Contains()
として、一致する要素が見つかるとすぐに列挙が終了します。次のような要素を検索すると;
foreach(var i in array)
{
if(i == 5)
///
}
配列内のすべての要素を列挙する必要があります。これがこの状況におけるこの方法の最大の利点だと思います。
if (array.Contains(check))
{
//code
}
あなたは言うことができます:
array.Contains(check)
このコードを試すことができます:
int[] array = { 1, 2, 3, 3, 5 };
int check = 5;
int r = Array.Find<int>(array, (arr => arr == check));
if (r != 0)
{
// then do something.
}