如果我有一个数组并执行一个ToString那么只是将数组值串在一个长逗号分隔的字符串中,或者在数组中是不可能的?
答案 0 :(得分:50)
选项1
如果你有string
个数组,那么你可以使用String.Join
:
string[] values = ...;
string concatenated = string.Join(",", values);
选项2
如果您正在处理任何其他类型的数组并且您使用的是.NET 3.5或更高版本,则可以使用LINQ:
string concatenated = string.Join(",",
values.Select(x => x.ToString()).ToArray());
答案 1 :(得分:15)
你当然可以这样做,但这不是默认行为。最简单的方法(无论如何从.NET 3.5)可能是:
string joined = string.Join(",", array.Select(x => x.ToString()).ToArray());
MoreLINQ有一个内置的方法来执行此操作:
string joined = array.ToDelimitedString();
或明确指定分隔:
string joined = array.ToDelimitedString(",");
答案 2 :(得分:2)
它没有(如你所注意到的)。
对于字符串数组,您可以使用:
string.Join(",", myArray)
对于其他数组我认为你需要自己编写代码。
答案 3 :(得分:1)
不,数组的ToString将为您提供对象的Type name字符串。改为使用String.Join方法。
答案 4 :(得分:1)
要实现此效果,您应该调用String.Join(string,string [])
即
string[] stringArray = new string[] { "a", "b", "c" };
string.Join(",", stringArray);