首页 > 解决方案 > 如何使用 LINQ 从列表中获取逗号分隔的值列表?

问题描述

我有一个短语列表: List<Phrase>其中 Phrase 对象具有PhraseId. 我需要做的是获取一个字符串,该字符串由用单引号括起来的每个 Id 后跟一个“,”组成,最后一个 PhraseId 除外?

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

'id1','id2','id3'

我见过 LINQ Select 命令,但我认为这只是给了我另一个列表。

谁能建议我如何做到这一点?

标签: c#linq

解决方案


这应该工作

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

其他资源

String.Join 方法

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

Enumerable.Select 方法

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

$ - 字符串插值(C# 参考)

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


推荐阅读