C# 将列表转换为格式化字符串
我有一个很简单的问题,但似乎无法解决。我已经创建了一个字符串列表。但是我想将列表格式化为一个看起来像数组的字符串 例如,这是我的清单C# 将列表转换为格式化字符串,c#,asp.net,C#,Asp.net,我有一个很简单的问题,但似乎无法解决。我已经创建了一个字符串列表。但是我想将列表格式化为一个看起来像数组的字符串 例如,这是我的清单 List<string> testData = new List<string> (); testData.Add("test 1"); testData.Add("test 2"); 我试着用一个字符串。Join,但是没有得到我想要的结果 我试着用一个string.Join,但是没有得到我想要的结果 没错。但是,字符串格式有助于: va
List<string> testData = new List<string> ();
testData.Add("test 1");
testData.Add("test 2");
我试着用一个字符串。Join,但是没有得到我想要的结果
我试着用一个string.Join,但是没有得到我想要的结果
没错。但是,字符串格式有助于:
var res = "[" + string.Join(", ", testData.Select(s => $"'{s}'")) + "]";
在C#6之前,您需要明确使用string.Format
:
var res = "[" + string.Join(", ", testData.Select(s => string.Format("'{0}'", s))) + "]";
引号必须是单引号吗?如果没有,您可以查看JSON.NET。我将使用一个自定义类,该类继承
列表
,然后重写ToString方法Yes single Quotes或一个自定义扩展方法,该方法将创建您需要的字符串您忘记关闭外圆括号,不再需要添加.ToArray()。它在没有ToArray()扩展的情况下工作。这很奇怪,我发现:无法使用.NET Framework 4.0将“System.Collections.Generic.IEnumerable”转换为“string[]”,Join接受IEnumerable作为参数。
var res = "[" + string.Join(", ", testData.Select(s => string.Format("'{0}'", s))) + "]";
var result = "[" + String.Join(", ", testData.Select(c => "'" + c + "'")) + "]";
string result = "[" + string.Join(",", testData.Select(i => "'" + i + "'").ToArray()) + "]";