我想知道是否有做到這一點使用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