C#在if陈述中使用一系列索引

时间:2019-07-07 21:43:52

标签: 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
}

是否存在这种功能?如果不能,您能告诉我写这样一个陈述的最简单方法吗?如果列表存在这样的功能,我也不介意将数组覆盖到列表中。有人可以帮忙吗?谢谢

编辑:我已经看到了List.Any()方法。但这对我没有帮助。我想搜索从索引1开始的所有数字。

2 个答案:

答案 0 :(得分:2)

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

if (Array.LastIndexOf(arrayOfNumbers, number) > 0) {

或搜索从索引1开始的数字:

if (Array.IndexOf(arrayOfNumbers, number, 1) >= 0) {

答案 1 :(得分:2)

你想要这个

// Copy into a variable. We can now make per-value changes.
var newScale = transform.localScale;
newScale.x *= 1.1f;

// Copy back into the transform.
transform.localScale = newScale;

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

true