如何将数组中的第n项作为数组中的第z项?

Use*_*384 7 c# arrays

我创建了一个这样的数组:

string[] test = new string[]{"apple", "banana", "tomato", "pineapple", "grapes"};
Run Code Online (Sandbox Code Playgroud)

现在,我想把数组中的第2,第3和第4项加在一起,目前我正在使用这段代码:

string result = "";
for(int i = 1; i < 4; i++)
{
    result += test[i] + " ";
}
Run Code Online (Sandbox Code Playgroud)

所以结果会是这样banana tomato pineapple,这很好.

我想问一下是否有标准或更好的方法来实现这一目标?

Blo*_*ard 14

你可以像这样简洁地写它:

string result = string.Join(" ", test.Skip(1).Take(3));
Run Code Online (Sandbox Code Playgroud)

此外,这还有不添加尾随空格(您的代码所做的)的好处.


DWr*_*ght 5

另一种选择,使用GetRange,这是非常自然的:

var result = String.Join(" ", test.ToList().GetRange(1, 3));
Run Code Online (Sandbox Code Playgroud)

  • 请注意,`ToList`会创建数组的副本.与5个项目完全无关,但很高兴知道你的阵列是否会变大. (2认同)