我有一个字符串列表...格式化字符串用逗号分隔并格式化
var strings = new List<String>() { "a", "b", "c" };
我想输出它们以不同的格式,例如:
“A”, 'b', 'C'
我已经试过:
string.Join("','",strings);
和
String.Join(",", String.Format("'{0}'",strings)
我有一个字符串列表...格式化字符串用逗号分隔并格式化
var strings = new List<String>() { "a", "b", "c" };
我想输出它们以不同的格式,例如:
“A”, 'b', 'C'
我已经试过:
string.Join("','",strings);
和
String.Join(",", String.Format("'{0}'",strings)
你的第一次尝试应该工作,但是你需要前缀和后缀"'"
的整体效果。
或者,你可以这样做:
var strings = new List<string>() { "a", "b", "c" }
.Select(x => string.Format("'{0}'", x));
var result = string.Join(",", strings);
另一种选择是使用StringBuilder
代替,
var strings = new List<string>() { "a", "b", "c" };
var builder = new StringBuilder();
foreach (var s in strings)
{
builder.AppendFormat(",'{0}'", s);
}
var result = builder.ToString().Trim(",");
在这种情况下,我建议你在LINQ方法为它的简单,但不要”如果您真正的问题更复杂,请排除StringBuilder
,因为它可以更清楚地显示每个单独项目格式的意图。
使用StringBuilder
格式化每个项目的内容,然后使用LINQ构建逗号分隔列表的混合方法可以很好地工作。
你的第二次尝试非常接近。试试这个:
string.Join(",", strings.Select(s => $"'{s}'"))
如何:
String.Join(",", strings.Select(s => String.Format("'{0}'", s)));
这是我尝试:)
var result = "'" + string.Join("','", strings) + "'";
或
var result = string.Format("'{0}'", string.Join("','", strings));
using System.Linq;
var result=strings.Select(x=> "'" + x + "'").Aggregate((x, y) => x + "," + y );
or
var result=string.Format("'{0}'", string.Join("','", strings));
or
var result="'" + string.Join("','", strings) + "'";
你的第一次尝试应该工作。错误/错误输出是什么? –