c# - 如何在 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 次但我想打印“名称不存在只一次”,如果字符串不包含在列表中,它应该检查整个列表那么它应该只打印一次“名称不存在”
解决方案
您可以保存一个布尔变量,它会告诉您名称是否在列表中。如果他不在列表中,则会显示消息:“姓名不存在”。您还可以添加一个中断,这样当您找到名称时,循环就会结束。
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");
}