gpt4 book ai didi

c# - 如何将 int[] 连接到 .NET 中的字符分隔字符串?

转载 作者:IT王子 更新时间:2023-10-29 03:36:03 25 4
gpt4 key购买 nike

我有一个整数数组:

int[] number = new int[] { 2,3,6,7 };

将这些数字转换为由字符分隔的单个字符串(如:"2,3,6,7")的最简单方法是什么?

我正在使用 C# 和 .NET 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"

从(至少).NET 4.5 开始,

var result = string.Join(",", ints.Select(x => x.ToString()).ToArray());

相当于:

var result = string.Join(",", ints);

我看到几个解决方案宣传 StringBuilder 的用法。有人提示 Join 方法应该采用 IEnumerable 参数。

我要让你失望了:) String.Join 需要一个数组的原因只有一个——性能。 Join 方法需要知道数据的大小才能有效地预分配必要的内存量。

下面是String.Join方法内部实现的一部分:

// 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]);
}
}

关于c# - 如何将 int[] 连接到 .NET 中的字符分隔字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/145856/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com