C# 将对象/字符串列表转换为以逗号分隔的子字符串
请帮助将从DB获取的对象列表转换为用逗号分隔的子字符串 以下面的示例代码为例:C# 将对象/字符串列表转换为以逗号分隔的子字符串,c#,.net,C#,.net,请帮助将从DB获取的对象列表转换为用逗号分隔的子字符串 以下面的示例代码为例: List<string> CategoryNames = new List<string>(); CategoryNames.Add("myName1"); CategoryNames.Add("myName2"); CategoryNames.Add("myName3"); 如何将类别名称转换为如上所示的子字符串? 任何帮助都将不胜感激。您可以使用与LINQ结合的方法在加入之前保留报价:
List<string> CategoryNames = new List<string>();
CategoryNames.Add("myName1");
CategoryNames.Add("myName2");
CategoryNames.Add("myName3");
如何将类别名称
转换为如上所示的子字符串?
任何帮助都将不胜感激。您可以使用与LINQ结合的方法在加入之前保留报价:
var result = String.Join(",", CategoryNames.Select(item => $"\"{item}\""));
如果不链接singleliner,下面是更清晰的代码版本:
var QuotedCategroyNames = CategoryNames
.Select(item => $"\"{item}\"");
var result = String.Join(",", QuotedCategroyNames);
您可以通过结合LINQ使用方法来在加入之前保留引号:
var result = String.Join(",", CategoryNames.Select(item => $"\"{item}\""));
如果不链接singleliner,下面是更清晰的代码版本:
var QuotedCategroyNames = CategoryNames
.Select(item => $"\"{item}\"");
var result = String.Join(",", QuotedCategroyNames);
使用LINQ
Select
将所有名称括在引号中,然后使用string.Join
合并回逗号分隔的字符串
string.Join(',', CategoryNames.Select(n => '"' + n + '"'));
使用LINQ
Select
将所有名称括在引号中,然后使用string.Join
合并回逗号分隔的字符串
string.Join(',', CategoryNames.Select(n => '"' + n + '"'));
可以将和concat与双引号字符一起使用:
var serialized = $@"""{ string.Join(@""",""", CategoryNames) }"""; // "myName1","myName2","myName3"
您可以使用双引号字符和concat:
var serialized = $@"""{ string.Join(@""",""", CategoryNames) }"""; // "myName1","myName2","myName3"
你的意思是
“myName1,myName2,myName3”
?请仔细检查:你真的希望结果也包含这样的引号:“myName1”,“myName2”,“myName3”还是只想得到这样的结果?:“myName1,myName2,myName3”字符串。Join
似乎是一个答案。。。。但请澄清要求,我希望格式中包含诸如“``` myName1”、“myName2”、“myName3”`` string.Join(“,”CategoryNames)”之类的引号;只会给我这样的格式“myName1,myName2,myName3”你的意思是“myName1,myName2,myName3”
?请仔细检查:你真的希望结果也包含这样的引号:“myName1”,“myName2”,“myName3”还是只想得到这样的结果?:“myName1,myName2,myName3”string.Join
似乎是一个答案。。。。但请澄清要求,我希望格式中包含诸如“``` myName1”、“myName2”、“myName3”`` string.Join(“,”CategoryNames)”之类的引号;只会给我一个像“myName1,myName2,myName3”这样的格式,但输出是这样的\“myName1\”,“myName2\”,“myName3\”
它应该是这样的,如果你从IDE看,它会这样显示(因为它转义了引号字符)。但是你可以做Console.WriteLine(结果);或者将结果放入UI中,您将看到所需的结果。正在工作,但输出是这样的\“myName1\”,“myName2\”,“myName3\”
如果您从IDE查看,它将以这种方式显示(因为它转义了那里的引号字符)。但是你可以做Console.WriteLine(结果);或者将结果放在UI中,您将看到所需的结果。