C# 将字符串列表组件连接为逗号分隔的字符串
我有一个字符串列表(C# 将字符串列表组件连接为逗号分隔的字符串,c#,C#,我有一个字符串列表(list)。我想连接列表项并形成一个新的逗号分隔字符串。我在C#认识。请为我提供最好的解决方案。以防您需要创建CSV(逗号分隔值)字符串 string[] myList = ... string concatenated = string.Join("," myList); 列表源=新列表(){ “abc”//只是一个字符串 “d,e”,//包含逗号的字符串 “x\”yz“,//包含引号的字符串 }; 字符串结果=String.Join(“,”,源 .选择(x=>x.Con
list
)。我想连接列表项并形成一个新的逗号分隔字符串。我在C#认识。请为我提供最好的解决方案。以防您需要创建CSV(逗号分隔值)字符串
string[] myList = ...
string concatenated = string.Join("," myList);
列表源=新列表(){
“abc”//只是一个字符串
“d,e”,//包含逗号的字符串
“x\”yz“,//包含引号的字符串
};
字符串结果=String.Join(“,”,源
.选择(x=>x.Contains(',')| | x.Contains('“)
?“\”+String.Concat(x.Select(c=>c==”?“\”:c.ToString())+“\”
:x));
...
//abc、d、e、x、yz
控制台。写入(结果);
注:添加了引号它是
Join
,而不是Join
。
List<String> source = new List<String>() {
"abc", // just a string
"d,e", // string which contains comma
"x\"yz", // string which contains quotation
};
String result = String.Join(",", source
.Select(x => x.Contains(',') || x.Contains('"')
? "\"" + String.Concat(x.Select(c => c == '"' ? "\"\"" : c.ToString())) + "\""
: x));
...
// abc,"d,e","x""yz"
Console.Write(result);