我想知道是否有做到这一点使用LINQ或一些其他的方式更简单的方法...C#组结果到另一个目录<T2>与选定的领域
我想提取,从列表中,所有行,按特定字段对它们进行分组,并将结果存储在另一个不同的列表中,如包含搜索参数的分组的非重复结果的列表。
下面是一个例子:
public class CustomObj
{
public int DOC { get; set; }
public string Desc { get; set; }
public string Name{ get; set; }
}
public class Worker()
{
public void DoWork()
{
List<CustomObj> objs = new List<CustomObj>();
objs.Add(new CustomObj(1, "Type1", "Name1"));
objs.Add(new CustomObj(1, "Type2", "Name1"));
objs.Add(new CustomObj(2, "Type2", "Name2"));
objs.Add(new CustomObj(3, "Type1", "Name1"));
objs.Add(new CustomObj(3, "Type2", "Name1"));
objs.Add(new CustomObj(3, "Type3", "Name1"));
// HERE'S WHAT I'D LIKE TO DO
// NOTE THAT THIS IS NOT A CORRECT FORMATED FUNCTION
List<int> docs = objs.GroupBy(o => o.DOC).Select(o => o.DOC).ToList<int>();
}
}
在结束我的文档列表看起来应该像这样
docs[0] = 1
docs[1] = 2
docs[2] = 3
在我目前的项目我有,到目前为止,10个不同的对象,我将不得不这样做给所有人。当然,我希望避免为每一个写入广泛的功能。
所以如果没有其他方式,至少我想知道。
感谢
跑了几个测试,似乎很好地工作。只需添加OrderBy即可获得有序的结果。谢谢你,你为我节省了很多工作! – David