如何搜索显示一条消息的数组
本文关键字:一条 消息 数组 显示 何搜索 搜索 | 更新日期: 2023-09-27 17:54:20
如何在数组中搜索我的Id,如果找到我的Id,将其保存在userseq
中。如果没有找到,只返回一条消息(Messagebox.Show("Does not exist"))
为数组的所有单元格(我的意思是在完成搜索shows only one message
后)。
for (int yu = 0; yu <= 92161; yu++)
{
int wer = d[yu];
if (wer == sc)
{
userseq = yu;
}
}
p。S:我以前试过
int? userseq=null;
...........
(!userseq.HasValue)
{
Messagebox.Show("Does not exist")
}
我将执行以下操作
int yu = 0;
while (yu <= 92161)
{
if (d[yu] == sc)
{
userseq = yu;
break;
}
yu++;
}
if (yu > 92161)
MessageBox.Show("Does not exist")
通过这种方式,如果它找到id,它将退出并且不打印消息。如果在搜索整个数组后没有找到,它将打印消息。
希望能有所帮助。
你可以使用LINQ:
int? foundId = arr.FirstOrDefault(a => a == userseq);
if (!foundId.HasValue)
{
Messagebox.Show("Does not exist!");
}
其中"arr"是数组,"userseq"是要比较的ID。
一定要包括System.Linq。您可能需要先将数组强制转换为列表。如果是,只需在"之前添加"。tolist()"。FirstOrDefault "
更多示例:http://www.dotnetperls.com/firstordefault
编辑:上面假设它是一个Int型数组。否则,如果它是一个int数组,则FirstOrDefault将返回0。
int foundId;
if (!arr.Any(a => a == userseq)
{
Messagebox.Show("Does not exist!");
}
else
foundId = arr.FirstOrDefault(a => a == userseq);
更多"Any"示例:http://www.dotnetperls.com/any