【发布时间】:2012-12-21 04:59:06
【问题描述】:
我有一个这样的结构
public struct MyStruct
{
public string Name;
//More fields and construtors
}
现在如果我有List<MyStruct>,有没有办法使用列表的Contains() 功能?
这不会编译:
if(_myStructList.Contains(x => x.Name == "DAMN!")){//DO STUFF}
这是错误:
Cannot convert lambda expression to type 'MyStruct' because it is not a delegate type
我想这不适用于结构?!
【问题讨论】:
-
您似乎缺少 if 的右括号?
-
这只是问题中的一个错字,我拥有的实际代码没有语法错误!感谢您指出
-
Contains 需要一个
MyStruct的实例,它需要覆盖相等比较才能匹配。根据 Rafal 的回答,使用Any将是一个更好的解决方案。 -
为了方便以后的搜索,本题报告的错误文字对应错误代码CS1660。