首页 > 解决方案 > 如何在 C# 中搜索不匹配的字符串

问题描述

static void Main(string[] args)
    {
        var students = new List<Student>() {
            new Student(){ Id = 1, Name="Bill"},
            new Student(){ Id = 2, Name="Steve"},
            new Student(){ Id = 3, Name="Ram"},
            new Student(){ Id = 4, Name="Abdul"}
        };

        String name = "Ram Mohan";
        foreach (var result in students)
        {
            if (!result.Name.Equals(name))
            {
                Console.WriteLine("Name not exsists");
            }
        }
    }

这里名称“名称不存在”打印了 4 次,我理解为什么它打印了 4 次但我想打印“名称不存在只一次”,如果字符串不包含在列表中,它应该检查整个列表那么它应该只打印一次“名称不存在”

标签: c#

解决方案


您可以保存一个布尔变量,它会告诉您名称是否在列表中。如果他不在列表中,则会显示消息:“姓名不存在”。您还可以添加一个中断,这样当您找到名称时,循环就会结束。

String name = "Ram Mohan";
bool IsNameInList = false;
    foreach (var result in students)
    {
        if (result.Name.Equals(name))
        {
            IsNameInList = true;
            break;
        }
    }

if(IsNameInList == false)
{
   Console.WriteLine("Name not exists");
}  

推荐阅读