📅  最后修改于: 2023-12-03 15:29:47.835000             🧑  作者: Mango
在C#中,我们可以使用以下方法来检查一个数组是否包含某个值:
int[] numbers = { 1, 3, 5, 7, 9 };
int searchValue = 5;
if (Array.IndexOf(numbers, searchValue) != -1)
{
Console.WriteLine("Value {0} found", searchValue);
}
else
{
Console.WriteLine("Value {0} not found", searchValue);
}
上述代码中,我们声明了一个整型数组 numbers
,并定义了需要查找的值 searchValue
。我们使用了 Array.IndexOf()
方法来查找数组中是否包含该值,如果该值不在数组中,Array.IndexOf()
方法将返回 -1
。因此,我们可以使用条件语句来判断是否存在该值。
另一种检查数组是否包含值的方法是使用 Contains()
方法。这个方法是 IEnumerable<T>
接口的扩展方法,因此我们需要使用 System.Linq
命名空间,并将数组转换为 IEnumerable<T>
类型:
using System.Linq;
int[] numbers = { 1, 3, 5, 7, 9 };
int searchValue = 5;
if (numbers.Contains(searchValue))
{
Console.WriteLine("Value {0} found", searchValue);
}
else
{
Console.WriteLine("Value {0} not found", searchValue);
}
这个方法与 Array.IndexOf()
方法的效果是相同的,但语法更加清晰和简单。
另外,我们可以使用 Any()
方法来检查数组中是否存在符合条件的元素。这个方法同样是 IEnumerable<T>
接口的扩展方法,我们可以使用 Lambda 表达式指定检查条件:
int[] numbers = { 1, 3, 5, 7, 9 };
int searchValue = 5;
if (numbers.Any(n => n == searchValue))
{
Console.WriteLine("Value {0} found", searchValue);
}
else
{
Console.WriteLine("Value {0} not found", searchValue);
}
上述代码中,我们使用了 Lambda 表达式 n => n == searchValue
来指定检查条件。如果数组中存在一个元素 n
,使得 n == searchValue
成立,则 Any()
方法返回 true
。
以上是在 C# 中检查数组是否包含值的三种常见方法。我们可以根据实际需求选择合适的方法来进行数组元素的查找操作。