0

誰かがこれを書く良い方法を知っているかどうか疑問に思っていました。キーと値のペアのリストがあります。キーは単純な文字列で、値は文字列のリストです。次のように出力ファイルに書き出そうとしています:

        File.WriteAllLines(@"C:\Users\S\Downloads\output.txt",
            xEleAtt.Select(x => x.Key + " Val's: " + x.Value).ToArray());

しかし、私が得る出力(これは私が起こると思っていたものです)はこれです:

Queue0 Val の: System.Collections.Generic.List`1[System.String]

Queue1 の値: System.Collections.Generic.List`1[System.String]

Queue2 Val の: System.Collections.Generic.List`1[System.String]

私が書いた方法で書かれたlinqを使用して、リストの内容を印刷する方法を知っている人はいますか?

4

3 に答える 3

2

指定された区切り文字を使用して、を単一String.Joinに連結するために使用できます。List<string>string

File.WriteAllLines(@"C:\Users\S\Downloads\output.txt",
        xEleAtt.Select(x => x.Key + " Val's: " + 
        string.Join(",", x.Value.ToArray()).ToArray());
于 2013-09-29T12:55:59.990 に答える
0
File.WriteAllLines(@"C:\Users\S\Downloads\output.txt",
         xEleAlt.SelectMany(x=> x.Value, (x,y)=> x.Key + " Val's: " + y).ToArray());

//Result
Queue0  ....
Queue0  ....
......
Queue1  ....
Queue1  ....
....

List<string>: すべての文字列を結合して各エントリの値を作成するかどうかはわかりません。必要に応じて、の回答を参照してくださいDouglas

于 2013-09-29T12:59:16.953 に答える