我是LINQ的初学者,我想知道是否可以使用它来解决以下问题:
我有一节课:
public class myClass
{
public int Id { get; set; }
public int Category { get; set; }
public string Text { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
我有一个myClass对象列表.
public List<myClass> myList;
Run Code Online (Sandbox Code Playgroud)
我可以轻松地使用LINQ myList包含myClass属性值Text不止一次的所有对象的子列表.
比如我有
myClass A = new myClass { Id=1, Category=1, Text="Hello World!"};
myClass B = new myClass { Id=2, Category=2, Text="Hello World!"};
myClass C = new myClass { Id=3, Category=2, Text="Good Bye!"};
myList.AddRange(new []{ A, B, C });
Run Code Online (Sandbox Code Playgroud)
我应该有对象A和B我的子列表
也许不理想,但也许:
var result = myList.GroupBy(x=>x.Text).Where(grp => grp.Count() > 1)
.SelectMany(x=>x); // .ToList() if you want a list
Run Code Online (Sandbox Code Playgroud)
或者在查询语法中:
var result = from x in myList
group x by x.Text into grp
where grp.Count() > 1
from y in grp
select y; // .ToList() if you want a list
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7507 次 |
| 最近记录: |