我在List
中与所有项目进行比较时遇到问题。
因为在下面的代码中。您可以看到i = 1
时if-else
语句失败。因为它是foreach
所有值。
第一个值是0.我不想要这种情况。
有任何方法可以将i
变量与所有值进行比较吗?
感谢。
List<int> values = new List<int>();
private void CheckCondition()
{
bool flag = false;
for (int i = 0; i < 5; i++)
{
foreach (int num in values)
{
if (i == num || i<num)
continue;
else
{
values.Add(i);
flag = true;
break;
}
}
if (flag)
break;
else
continue;
}
}
答案 0 :(得分:1)
此代码将在您的值集合中查找i
的每个值
List<int> values = new List<int> {1,2,3,4,5};
for(int i = 0; i< num; i++)
{
if(values.Contains(i))
{
//Do the code you want
}
}
如果您想查看有关列表的其他条件以及i
,您可以:
List<int> values = new List<int> {1,2,3,4,5};
for(int i = 0; i< num; i++)
{
if(values.Any(item => item == i || item > i))
{
//Do the code you want
}
}
答案 1 :(得分:0)
描述你想要的东西。我可以回答你关于检查项目是否在列表中的问题
List<int> values = new List<int> {1, 2, 3, 4};
bool containsItem = values.Contains(2);
答案 2 :(得分:0)
如果该列表中没有i
,您是否要将values
添加到i
?
使用FindIndex
检查列表是否包含i它将返回索引。如果不是,则返回-1。
List<int> values = new List<int>();
private void CheckCondition()
{
for (int i = 0; i < 5; i++)
{
int idx = values.FindIndex(item => item == i || item > i);
if(idx == -1)
{
values.Add(i);
break;
}
}
}