將表格數據中的重複列摺疊到列表中的最優雅方式是什麼?將重複的列摺疊到子列表中
例子:我寫了一個SQL查詢,返回行包括除單個差分列重複數據:
FIRST LAST AGE CAR
Charles Burns 32 Accord
Charles Burns 32 Buick
Charles Burns 32 Lexus
Anders Hejlsberg 51 Porsche
Anders Hejlsberg 51 Ferrari
Anders Hejlsberg 51 Bugatti
Anders Hejlsberg 51 Pinto
我閱讀這些使用類似以下內容,然後把它們放入一個CarInfo對象:
while(reader.Read()) {
first = reader["first"]
last = reader["last"]
//...
}
var myData = new CarInfo(first, last, ...);
物體看起來像:
// CarInfo: Need 7 total instances with example data
string first { get; private set; }
string last { get; private set; }
int age { get; private set; }
string car { get; private set; }
我想它看起來像:
// CarInfo: Need only 2 instances with example data;
string first { get; private set; }
string last { get; private set; }
int age { get; private set; }
List<string> cars { get; private set; }
我當然可以這樣做手工,例如通過挑選形成一個唯一的ID列和檢查,如果他們已經在我的名單(或字典或其他) ,但這似乎很辛苦。 我對LINQ很熟悉,懷疑它可以很好地摺疊這些數據,但對於想到一個確切的方法還不夠熟悉。