比较项值的问题

Ton*_*ony 3 .net linq dictionary

我已经定义了我的课程:

public class Host 
{
     public string Name;
}
Run Code Online (Sandbox Code Playgroud)

然后是强类型字典:

Dictionary<string, Host> HostsTable;
Run Code Online (Sandbox Code Playgroud)

然后我尝试比较一个值:

 if (HostsTable.Values.Where(s => s.Name == "myhostname") != null) { doSomething }
Run Code Online (Sandbox Code Playgroud)

问题是,没有找到任何东西,即使我确定该项目在列表中.我做错了什么?

Gra*_*meF 5

Where()返回另一个IEnumerable<Host>,所以你的null测试不会检查是否有匹配的项目.

我想这就是你要做的事情:

if(HostsTable.Values.Any(s => s.Name == "myhostname")) { doSomething }
Run Code Online (Sandbox Code Playgroud)

Any()返回true如果有符合条件的任何项目.