C# C在if语句中使用一系列索引

C# C在if语句中使用一系列索引,c#,arrays,if-statement,C#,Arrays,If Statement,我有一个简单的代码: if(number == arrayOfNumbers[1]){ //some code } 我希望代码是这样的: if(number == arrayOfNumbers[index>=1 /*any index that is equal or bigger than one*/]{ //some code } 这种功能存在吗?如果没有,你能告诉我写这样一份声明的最简单方法吗?如果列表中存在这样的函数,我也不介意将数组转换为列表。sombody能帮忙吗?多谢各

我有一个简单的代码:

if(number == arrayOfNumbers[1]){
//some code
}
我希望代码是这样的:

if(number == arrayOfNumbers[index>=1  /*any index that is equal or bigger than one*/]{
//some code
}
这种功能存在吗?如果没有,你能告诉我写这样一份声明的最简单方法吗?如果列表中存在这样的函数,我也不介意将数组转换为列表。sombody能帮忙吗?多谢各位


编辑:我已经看到了列表。任何方法。但这对我没有帮助。我想搜索从索引1开始的所有数字。

您可以搜索数字的最后一个索引,并检查它是否>0:

if (Array.LastIndexOf(arrayOfNumbers, number) > 0) {
或搜索从索引1开始的编号:

if (Array.IndexOf(arrayOfNumbers, number, 1) >= 0) {
你想要这个

if (arrayOfNumbers.Select((i, x) => new { i, x }).Any(x => x.i > 1 && x.x == number))
{
    // some code
}
Select为列表中的每个条目创建一个匿名对象,其中包括条目本身及其索引。如果索引为2或更大,则Any将返回true


或collectionOfNumbers.Selecti,x=>i>1&&x==number.Containstrue,它避免了生成丢弃的{i,x}对象的需要。@BenVoigt Yes。很好的改进。这个特别有用,因为与LINQ Select或Skip+Any不同,它提供了找到项目的索引。
if (arrayOfNumbers.Skip(1).Any(x => x == number))