我已经定义了我的类:
public class Host
{
public string Name;
}
然后是强类型字典:
Dictionary<string, Host> HostsTable;
然后我尝试比较一个值:
if (HostsTable.Values.Where(s => s.Name == "myhostname") != null) { doSomething }
问题是,什么也没找到,即使我确定该项目在列表中。我做错了什么?
最佳答案
Where()
返回另一个 IEnumerable<Host>
,因此您对 null 的测试不会检查是否存在匹配项。
我想这就是你想要做的:
if(HostsTable.Values.Any(s => s.Name == "myhostname")) { doSomething }
Any()
返回 true
如果有任何项目符合条件。
关于.net - 比较项目值的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2439236/