我想使用LINQ將列表轉換爲不同的格式。LINQ查詢幫助
的(簡化的)數據如下:
Code Name
----------
X Red
Y Yellow
Y Red
X Blue
Z Green
我想的格式是:
「X:紅色,藍色Y:黃色,紅色Z:綠」
我會很感激一些關於如何進步的提示。
由於提前,
何塞
我想使用LINQ將列表轉換爲不同的格式。LINQ查詢幫助
的(簡化的)數據如下:
Code Name
----------
X Red
Y Yellow
Y Red
X Blue
Z Green
我想的格式是:
「X:紅色,藍色Y:黃色,紅色Z:綠」
我會很感激一些關於如何進步的提示。
由於提前,
何塞
List<Data> list = ...;
var query = list.GroupBy(d => d.Code, d => d.Name)
.Select(g => g.Key + ": " + String.Join(", ", g));
string result = String.Join(" ", query);
謝謝你是完美的。 – jose
這應該工作:
var results = codes.GroupBy(x => x.Code)
.Select(g => string.Format("{0}: {1}", g.Key, string.Join(",", g.Select(c => c.Name).Distinct())))
.ToList();
輸出爲您的樣品:
X: Red,Blue
Y: Yellow,Red
Z: Green
這些是什麼類型的?你究竟想要結果如何?一個字符串?你的嘗試是什麼? –
這兩種類型都是字符串。我得到的嘗試返回「X:紅色,X:藍色,Y:黃色,Y:紅色......」。我無法讓分組正常工作。我想要的格式是:「X:紅色,藍色Y:黃色,紅色Z:綠色」。 – jose
你應該包括你在這方面一般使用的代碼。這樣我們就可以很好地幫助您解決問題的出處以及如何糾正問題,而不僅僅是爲您提供解決方案。 –