2011-11-23 62 views
4

連接字符串我有一個對象結構,看起來像這樣:在C#中的對象結構

var Results = new List<ResultObj>() 
    { 
     new ResultObj() 
     { 
      Messages = new List<MessageObj>() 
      { 
       new MessageObj() 
       { 
        Message = "message 1" 
       }, 
       new MessageObj() 
       { 
        Message = "message 2" 
       } 
      } 
     }, 
     new ResultObj() 
     { 
      Messages = new List<MessageObj>() 
      { 
       new MessageObj() 
       { 
        Message = "message 3" 
       } 
      } 
     } 
    } 

我如何使用LINQ或其他C#的方式來獲得與連接在一起的所有消息值一個字符串?喜歡的東西是什麼下面

「消息1,消息2,消息3」

謝謝!

回答

5

使用String.JoinSelectMany

String.Join(", ", Results.SelectMany(x=> x.Messages).Select(y => y.Message)); 
+0

使用的的SelectMany'(X => X)'將選擇'ResultObj'項,而不是'Messages'屬於每個'ResultObj'。 –

1
var allStrings = results.SelectMany(r => r.Messages).Select(m => m.Message); 
var joined = String.Join(", ", allStrings);