我有一个如下所示的对象结构:
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"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
如何使用LINQ或其他C#方法获取单个字符串,并将所有Message值连接在一起?像下面的东西
"消息1,消息2,消息3"
谢谢!
使用String.Join
和SelectMany
:
String.Join(", ", Results.SelectMany(x=> x.Messages).Select(y => y.Message ));
Run Code Online (Sandbox Code Playgroud)
使用该Enumerable.SelectMany
方法展平列表,然后使用该String.Join
方法.
var query = Results.SelectMany(r => r.Messages)
.Select(m => m.Message);
var result = String.Join(", ", query);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
696 次 |
最近记录: |