如何在c#中填充锯齿状数组? [英] How to populate a jagged Array in c#?

查看:77
本文介绍了如何在c#中填充锯齿状数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用C#中的20到100的随机值填充锯齿状数组。我使用以下代码:

I'm trying to populate a jagged array with random values from 20 to 100 in C#. I use the following code:

Random rnd = new Random();
int size = 8;
int[][] G = new int[size][];
int[] sub = new int[4];
for (int j = 0; j < size; j++)
{
  for (int i = 0; i < 4; i++)
  {
      sub[i] = rnd.Next(20, 100);
  }
  G[j] = sub;
}



但我总是得到一个带有相同内部数组的锯齿状数组(最后一个)。

任何建议?


But I always get a jagged array with identical internal arrays (The last one).
Any Suggestion?

推荐答案

需要进行小的更改,在for循环中声明你的子数组,否则你指的是同一个每行中的数组。

small change need to be done, declare your sub array inside your for loop, otherwise you are referring to same array in each row.
Random rnd = new Random();
int size = 8;
int[][] G = new int[size][];
for (int j = 0; j < size; j++)
{
  int[] sub = new int[4];
  for (int i = 0; i < 4; i++)
  {
      sub[i] = rnd.Next(20, 100);
  }
  G[j] = sub;
}


这篇关于如何在c#中填充锯齿状数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆