我们使用以下代码片段根据 Name选择特定object
的 from 。collection
property
ObservableCollection<Test> collection = new ObservableCollection<Test>();
collection.Add(new Test() { Id =1, Name ="Nestor"});
collection.Add(new Test() { Id = 2, Name = "Rohan" });
collection.Add(new Test() { Id = 3, Name = "Guy" });
collection.Add(new Test() { Id = 4, Name = "Mike" });
string s = "Rohan";
var temp = collection.FirstOrDefault(x =>
{
if (x.Name != null)
{
return x.Name.ToString().Equals(s);
}
else
{
return x.Name;
}
});
我们在此代码段中收到以下错误。
错误:
错误 1 无法将 lambda 表达式转换为委托类型“System.Func”,因为块中的某些返回类型不能隐式转换为委托返回类型 C:\Users\vadiviven\documents\visual studio 2010\Projects\WindowsFormsApplication12\WindowsFormsApplication12 \Program.cs 36 25 WindowsFormsApplication12 错误 2 无法将类型“字符串”隐式转换为“布尔”C:\Users\vadiviveln\documents\visual studio 2010\Projects\WindowsFormsApplication12\WindowsFormsApplication12\Program.cs 36 32 WindowsFormsApplication12
您能否对此进行调查并提供使用正确方法的建议Linq query
。提前致谢。
修改后的代码如下:
ObservableCollection<Test> collection = new ObservableCollection<Test>();
collection.Add(new Test() { Id = 1 });
collection.Add(new Test() { Id = 2, Name = "Rohan" });
collection.Add(new Test() { Id = 3, Name = "Guy" });
collection.Add(new Test() { Id = 4, Name = "Mike" });
string s = "Rohan";
var temp = collection.FirstOrDefault(x =>
{
return x.Name.Equals(s);
});
我们在基础集合中使用了 null 字段。那么如何使用linq查询