C# 8.0使用Range来处理多维数组。

问题描述 投票:5回答:1

在C# 8.0中,为什么我可以在单维数组上使用range。

var oneDim = new int[5];
var oneDimSlice = oneDim[2..4];

但不能在多维数组上使用它?

var twoDim = new int[5, 5];
var twoDimSlice = twoDim[2..4, 2..4];
c# multidimensional-array range
1个回答
0
投票

https:/docs.microsoft.comen-usdotnetcsharptutorialsranges-indexes。

数组有更细微的行为。单维数组同时支持指数和范围。多维数组不支持。多维数组的索引器有多个参数,而不是单一参数。锯齿数组,也称为数组的数组,同时支持范围和索引器。

所以答案是否定的,但如果你有兴趣的话,用锯齿数组是可以做到的。

© www.soinside.com 2019 - 2024. All rights reserved.