2011-09-17 12 views
1

linqを使用してリストを別のフォーマットに変換しようとしています。linqクエリのヘルプ

次のように(簡体字)のデータは次のとおりです。

Code Name 
---------- 
X Red 
Y Yellow 
Y Red 
X Blue 
Z Green 

そして、私が好きなフォーマットは次のとおりです。

"X:レッド、ブルーY:黄、赤Z:グリーン"

進捗状況のヒントをお読みいただきたいと思います。これは動作するはず事前に

おかげで、

ホセ

+1

これらのタイプは何ですか?結果はどのくらい正確にしたいですか?文字列?あなたの試みは何ですか? –

+0

タイプは両方とも文字列です。私が持っている試みは「X:赤、X:青、Y:黄、Y:赤....」と返します。私は正しくグループ化することができません。私が望む形式は、「X:赤、青Y:黄、赤Z:緑」です。 – jose

+0

これに一般的な試みに使用したコードを含める必要があります。そうすれば、あなたが間違っていた場所や、解決方法を教えてくれるだけでなく、あなたに解決策を与えることができます。 –

答えて

0
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); 
+0

これは完璧です。 – jose

1

:あなたのサンプルのため

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