我有一个整数数组:
var a = [1,2,3,4];
如何在不执行for循环的情况下查明此数组中是否存在数字1
等数字?
我看到C#有一个Array.Exists(T)
方法,但我不知道如何使用它。如果这是一个很好的方法,那么我会很感激一些建议。
答案 0 :(得分:3)
最好是用户Contains
或Any
,但您要求Exists
,所以:
int[] arr = {1,2,3,4};
Exists
:
bool a = Array.Exists(arr, elem => elem == 1); // true
bool b = Array.Exists(arr, elem => elem == 5); // false
Contains
:
bool a = arr.Contains(1); // true
bool b = arr.Contains(5); // false
Any
:
bool a = arr.Any(elem => elem == 1); // true
bool b = arr.Any(elem => elem == 5); // false
答案 1 :(得分:1)
使用Linq
包含可以检查是否存在int,
var intVar = 1;
var exists = a.Contains(intVar);
答案 2 :(得分:1)
由于C#数组可以在LINQ表达式中使用,因此可以这样做:
bool hasOne = a.Any(n => (n == 4));
您需要添加using System.Linq
才能进行编译。