【问题标题】:C# 8.0 using Range for multidimensional arraysC# 8.0 使用 Range 处理多维数组
【发布时间】:2019-03-08 14:58:56
【问题描述】:

在 C# 8.0 中,为什么我可以在一维数组上使用范围:

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

但是不能用在多维数组上?

var twoDim = new int[5, 5];
var twoDimSlice = twoDim[2..4, 2..4];

【问题讨论】:

  • 这个需要咨询c#规范团队,

标签: c# multidimensional-array range


【解决方案1】:

https://docs.microsoft.com/en-us/dotnet/csharp/tutorials/ranges-indexes

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

所以答案是否定的,但如果您有兴趣,可以使用锯齿状数组来做到这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-13
    • 1970-01-01
    • 2018-06-28
    • 2021-06-09
    • 1970-01-01
    • 1970-01-01
    • 2011-05-26
    相关资源
    最近更新 更多