如何搜索显示一条消息的数组

本文关键字:一条 消息 数组 显示 何搜索 搜索 | 更新日期: 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

相关文章: