我有一个整数数组:
int[] number = new int[] { 2,3,6,7 };
将这些数字转换为单个字符串(数字之间用一个字符分隔,如:"2,3,6,7"
)的最简单方法是什么?
我用的是C#and.净3.5.
我有一个整数数组:
int[] number = new int[] { 2,3,6,7 };
将这些数字转换为单个字符串(数字之间用一个字符分隔,如:"2,3,6,7"
)的最简单方法是什么?
我用的是C#and.净3.5.
var ints = new int[] {1, 2, 3, 4, 5};
var result = string.Join(",", ints.Select(x => x.ToString()).ToArray());
Console.WriteLine(result); // prints "1,2,3,4,5"
从(至少).NET4.5开始,
var result = string.Join(",", ints.Select(x => x.ToString()).ToArray());
相当于:
var result = string.Join(",", ints);
我看到有几种解决方案宣传StringBuilder的使用.有人抱怨Join方法应该采用IEnumerable参数.
我会让你失望的:)字符串.Join需要数组的唯一原因是性能.Join方法需要知道数据的大小,才能有效地预先分配必要的内存量.
下面是String的内部实现的一部分.连接方法:
// length computed from length of items in input array and length of separator
string str = FastAllocateString(length);
fixed (char* chRef = &str.m_firstChar) // note than we use direct memory access here
{
UnSafeCharBuffer buffer = new UnSafeCharBuffer(chRef, length);
buffer.AppendString(value[startIndex]);
for (int j = startIndex + 1; j <= num2; j++)
{
buffer.AppendString(separator);
buffer.AppendString(value[j]);
}
}