在List <t>中查找并返回boolean(如果找到)

Fli*_*Top 1 c# linq

请原谅我的无知,有点像新手(但热情地到达那里)

public class MyType
{
    public string MyName;
    public string MyTown;
    public string MyJob;
}
Run Code Online (Sandbox Code Playgroud)

我有这种类型的列表:

List<MyType> myVar = new List<MyType>()
Run Code Online (Sandbox Code Playgroud)

现在我想基于此返回一个布尔值.所以例如:myVar包含MyName = "Bob"MyJob = "Taxi Driver"

我已经设法返回所有名称为"鲍勃"

var e = myVar.Where(x => x.MyName== "Bob").ToList();
Run Code Online (Sandbox Code Playgroud)

但我想做的事情如下:

bool mExists = (myVar.Where(x => x.MyName== "Bob" && MyJob="Taxi Driver").Count > 0) ? true : false;
Run Code Online (Sandbox Code Playgroud)

这可能吗?

dca*_*tro 13

使用Any扩展方法.

bool exists = myVar.Any(x => x.MyName == "Bob" && x.MyJob == "Taxi Driver");
Run Code Online (Sandbox Code Playgroud)

  • @dcastro上面的代码甚至不会编译`bool exists = myVar.Any(x => x.MyName =="Bob"&& MyJob ="Taxi Driver");`,它应该是`x.MyJob =="出租车司机"` (2认同)

Jon*_*s W 6

你可以使用.Any()

示例:

bool mExists = myVar.Any(x => x.MyName == "Bob" && x.MyJob == "Taxi Driver");
Run Code Online (Sandbox Code Playgroud)