C# 如何向循环中添加条件
我想检查数组中的一个值,如果它存在,则返回该值,否则返回消息并从数组中读取另一个值。加C# 如何向循环中添加条件,c#,C#,我想检查数组中的一个值,如果它存在,则返回该值,否则返回消息并从数组中读取另一个值。加 else { MessageBox.Show("This Item ID Does Not Exist"); } 但问题是,当值不在数组中时,它希望显示1258038次消息。 如何检查值(输入),如果它存在,我可以继续,如果它在数组中不存在,它将返回并读取另一个值(输入可以是多个必须逐个读取的值) for(int-chun=0;chun
else
{
MessageBox.Show("This Item ID Does Not Exist");
}
但问题是,当值不在数组中时,它希望显示1258038次消息。
如何检查值(输入),如果它存在,我可以继续,如果它在数组中不存在,它将返回并读取另一个值(输入可以是多个必须逐个读取的值)
for(int-chun=0;chun 对于(int yyu=0;yyu使用break
提前退出循环。您还需要稍微更改逻辑,以便在每次迭代中都不会显示消息。这只是一种可能性:
int? itemseq = null;
for (...) // outer loop
{
...
for (...) // inner loop
{
if (weer == Item_Id)
{
itemseq = yyu;
break;
}
}
if (!itemseq.HasValue)
MessageBox.Show("This Item ID Does Not Exist");
...
}
我想只要稍微想一想,你就能让它更具可读性
您有两个集合要搜索-ItemIdNumber
和c
您正在查找ItemIdNumber
中与c
的前1258038个值中的项目匹配的第一个值
像这样的LINQ
语句可能会出现,尽管我不确定您的集合是什么类型。而且我是徒手编写的,所以它可能无法按原样编译。不过应该会给您一些可以使用的东西
var id = (from id in ItemIdNumber
join cid in c.Take(1258038) on Convert.ToInt32(id) equals cid
select cid).FirstOrDefault();
if (!id.HasValue)
MessageBox.Show("This Item ID Does Not Exist");
for(int-chun=0;chun 对于(int yyu=0;yyu侧注:请尝试在与其他人共享的代码中使用好的变量名/方法名。ii
和yyu
可能会给人一种不关心代码的印象。我的帖子似乎是无敌的…--可能在这种情况下,当项目id不存在时,消息仍会显示1258038次在数组中..yeap@YohanesKhosiawan许先汉. 它显示1258038次错误。它仍然显示1258038次错误@GrantWinneyThanks@GrantWinney。请您解释一下--int?itemseq=null;因为我将itemseq定义为公共整数,然后我可以更改此变量的名称(int?itemseq=null;)另一件事@GrantWinney?自从我将它定义为itemseq以来。它显示了一个错误,说明这个变量存在于脚本中。我无法理解int之后的?值。
var id = (from id in ItemIdNumber
join cid in c.Take(1258038) on Convert.ToInt32(id) equals cid
select cid).FirstOrDefault();
if (!id.HasValue)
MessageBox.Show("This Item ID Does Not Exist");
for (int cun = 0; cun < ItemIdNumber.Length; cun++) {
...
boolean found = false;
for (int yyu = 0; yyu <= 1258038; yyu++) {
int weer = c[yyu];
if (weer == Item_Id)
{
itemseq = yyu;
found = true;
break;
}
}
if(!found) {
MessageBox.Show("This Item ID Does Not Exist");
}
...
}