18

我想将 char 数组的一部分转换为字符串。最好的方法是什么。

我知道我可以为整个数组执行以下操作

char[] chars = {'a', ' ', 's', 't', 'r', 'i', 'n', 'g'};
string s = new string(chars);

但是例如只有元素 2 到 4 呢?

我也知道我可以遍历数组并提取它们,但我想知道是否有更简洁的方法。

4

2 回答 2

41

使用带有 char 数组、索引和长度的String构造函数重载:

String text = new String(chars, 2, 3); // Index 2-4 inclusive
于 2012-11-02T07:18:38.967 回答
1

您可以使用 LINQ

char[] chars = { 'a', ' ', 's', 't', 'r', 'i', 'n', 'g' };
string str = new string(chars.Skip(2).Take(2).ToArray());

但是当然字符串重载的构造函数是要走的路

于 2012-11-02T07:38:52.693 回答