如何使用LINQ从列表中获取逗号分隔的值列表?

时间:2018-10-20 00:51:10

标签: c# linq

我有一个短语列表:List<Phrase>,其中短语对象具有PhraseId的属性。我需要做的是获取一个字符串,该字符串包含用单引号引起来的每个ID,后跟一个“,”(最后一个PhraseId除外)?

换句话说,我想要一个看起来像这样的字符串:

  

'id1','id2','id3'

我看过LINQ Select命令,但是我认为这给了我另一个List。

有人可以建议我该怎么做吗?

1 个答案:

答案 0 :(得分:7)

这应该有效

var result = string.Join(",", phrases.Select(x => $"'{x.PhraseId}'"));

其他资源

String.Join Method

  

连接指定数组的元素或a的成员   集合,在每个元素之间使用指定的分隔符或   成员。

Enumerable.Select Method

  

将序列的每个元素投影为新形式。

$ - string interpolation (C# Reference)

  

$特殊字符将字符串文字标识为插值   串。插值字符串是可能包含以下内容的字符串文字   插值表达式。当插值字符串解析为   结果字符串,带有插值表达式的项目将替换为   表达式结果的字符串表示形式。此功能是   在该语言的C#6和更高版本中可用。