借助C#8.0看到结构Index
和Range
的引入,我们现在可以轻松地像执行类似的操作获取数组的一部分
string[] baseArray = {"a","b", "c", "d", "e", "f"};
var arr = baseArray[1..^2];
像这样切片一个数组会复制该数组吗?还是不像ArraySegment<T>
那样进行复制?
答案 0 :(得分:1)
亲自尝试:
string[] baseArray = { "a", "b", "c", "d", "e", "f" };
var arr = baseArray[1..^2];
Debug.WriteLine(arr[0]);
Debug.WriteLine(baseArray[1]);
arr[0] = "hello";
Debug.WriteLine(arr[0]);
Debug.WriteLine(baseArray[1]);
输出
b
b
hello
b
我们可以得出结论,数组已复制。