传递对C#Array中元素的引用

Kev*_*vin 6 c# arrays

我建立了一个字符串数组

string[] parts = string.spilt(" ");
Run Code Online (Sandbox Code Playgroud)

并获得一个包含X部分的数组,我想得到一个从element开始的字符串数组的副本

parts[x-2]
Run Code Online (Sandbox Code Playgroud)

除了明显的暴力方法(制作一个新的数组和插入字符串),在C#中有更优雅的方法吗?

jos*_*rry 6

我记得回答这个问题并且刚刚学到了一个新的对象,它可以提供一种高性能的方法来做你想做的事情.

看看ArraySegment<T>.它会让你做类似的事情.

string[] parts = myString.spilt(" ");
int idx = parts.Length - 2;
var stringView = new ArraySegment<string>(parts, idx, parts.Length - idx);
Run Code Online (Sandbox Code Playgroud)


too*_*kit 2

Array.Copy 怎么样?

http://msdn.microsoft.com/en-us/library/aa310864(VS.71).aspx

Array.Copy 方法(数组、Int32、数组、Int32、Int32)

从指定源索引开始复制数组中的一系列元素,并将它们粘贴到从指定目标索引开始的另一个数组中。长度和索引指定为 32 位整数。