【问题标题】:Arrays In loops by C# [closed]C#循环中的数组[关闭]
【发布时间】:2013-12-17 02:07:41
【问题描述】:

我想用 C# 在 for 循环中创建很多数组,如下所示:请帮助我!

for(int i=1;i<10;i++)
{
    int[][] a+i=new int[10][3];
}

【问题讨论】:

  • 很高兴了解您为什么要尝试创建这些数组
  • 请解释你要做什么
  • 你能展示一下你完成后数组的样子吗?你的语法看起来有点像 C++ 指针算法。
  • 你能重新表述你的问题吗?你说的“男性很多阵列”是什么意思?此外,´int[][] a+i=new int[10][3];´ 远非 c# 正确语法。

标签: c# arrays loops


【解决方案1】:

您可能正在尝试创建jagged arrays。你可以这样做:

var a = new int[10][];
for (var i = 0; i < a.Length; i++)
    a[i] = new int[3];

for (var i = 0; i < a.Length; i++)
    for (var j = 0; j < a[i].Length; j++)
        a[i][j] = 1;  // Initialize with your values

【讨论】:

  • 谢谢。很好,但这不是我的答案
【解决方案2】:

IMO,最好使用Dictionary&lt;string,int[][]&gt;

在创建过程中,您将放置一个新数组(您刚刚创建)并将其关联到键 "a" + i

要获取此数组,只需获取附加到相关键的值即可。

类似(类似 C# 的伪代码):

var map = new Dictionary<string,int[][]>();
for(int i=1;i<10;i++)
{
    var temp = new int[10][3];
    map["a" + i] = temp
}

要获取值,只需使用 map[key](例如 map["a7"] 将获取第 7 个元素)。


一个不错的选择是使用 3D 数组。

【讨论】:

  • 谢谢;这是一个很好的答案,但它有错误
  • 非常感谢。答案很好
猜你喜欢
  • 2018-03-07
  • 1970-01-01
  • 2020-10-06
  • 2021-11-16
  • 1970-01-01
  • 1970-01-01
  • 2013-06-20
  • 1970-01-01
  • 2012-12-26
相关资源
最近更新 更多