我想从列表中获取一组项目。
var sampleDataGroups = SampleDataSource.GetGroups("AllGroups");
var final=sampleDataGroups.Select(p => p.Description.Equals("Test1");
sampleDataGroups
获取列表中的所有组。如何优化列表以仅获取Description
属性值为“Test1”的组?
我尝试使用var final
中的linq查询来实现此目的,但它无效。
我希望得到描述为“Test1”的所有组。
答案 0 :(得分:2)
使用Where子句将帮助您实现此目的。另外,你忘记了最后的结束括号。
var final = sampleDataGroups.Where(p => p.Description.Equals("Test1"));
答案 1 :(得分:2)
过滤查询的正确方法是使用where
语句,为其提供所需条件,以便只返回符合此条件的项目。
试试这个:
var sampleDataGroups = SampleDataSource.GetGroups("AllGroups").where(g=>g.Description=="Test1");
之前的声明意味着只返回其描述属性等于Test1
的项目,并丢弃所有其他项目。
以下链接非常有助于您开始使用LINQ。
1-基本LINQ查询操作(C#): http://msdn.microsoft.com/en-us/library/vstudio/bb397927.aspx
2- MSDN中的一篇文章阐明了where
语句使用场景
http://msdn.microsoft.com/en-us/library/bb534803.aspx
答案 2 :(得分:1)
您应该使用声明Where:
var final=sampleDataGroups.Where(p => p.Description.Equals("Test1");