【问题标题】:C# multidimensional array (2D) more than enough memory assignedC# 多维数组 (2D) 分配了足够多的内存
【发布时间】:2018-06-12 17:04:54
【问题描述】:

所以我分配int[,] matrix = new int[1, 2];。但是在调试时我看到我的矩阵有 [0,0] [0,1].(slots) 为什么会这样?我有 2 个值槽?不应该只有1吗? (不要告诉我我必须使用一维数组,这只是一个例子)。例如,如果我想声明一个 3 x 2 矩阵(只有 3 个可能的行)[0, 0], [0, 1], [0, 2] 我应该怎么做?

【问题讨论】:

  • 您应该将 [0,0] 和 [0,1] 作为有效索引。你是这个意思吗?
  • @itsme86 是的,刚刚编辑过
  • 你为什么只期待 1 个?即使是像 new int[2] 这样的一维数组也会为您提供 2 个插槽(0 和 1)。
  • 什么是 1 x 2 ?
  • @itsme86 这两个插槽来自“1”对吗?

标签: c# multidimensional-array


【解决方案1】:

数组总是从索引 0 开始

所以

[0,0] = 维度 1 值 1 [0,1] = 维度 1 值 2

编辑:

如果你想要一维中的 3 个值,你必须这样做

int [,] matrix = new int [1,3];

希望对你有帮助?

【讨论】:

  • 声明1×3矩阵的语法是int [,] matrix = new int [1,3];
  • @DourHighArch 是的,对不起我的错误
  • @Darem 哪一行哪一列?
  • @john 如果您想在示例中看到这样的 1 = 行和 3 = 列
【解决方案2】:

我猜你不知何故弄糊涂了。

显然1 x 2 matrix 有 2 个插槽。

如果您只需要 1 个插槽,则为 1 x 1 matrix

例子:

希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    • 2012-10-07
    • 2015-06-08
    • 2013-05-27
    相关资源
    最近更新 更多