声明一个二维数组,长度不可确定总是报错

bowfetion 2011-12-26 06:27:38
ArrayList a = new ArrayList();
int[] b = { 1, 2 };
int testi;
int testl;
int testj;

a.Add(b);
b[0] = 3;
b[1] = 4;
testl=a.Count;

a.Add(b);

for (testi = 0; testi < testl; testi++)
{
for(testj in a[testi])
{
Response.Write(a[testi,testj]);
}

}
我想实现这样的方法,求给出正确答案的方法
...全文
136 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
CooperWu 2011-12-26
  • 打赏
  • 举报
回复
通过5楼,6楼的帮助看懂了。
试试这样


List<int[]> a = new List<int[]>(
new int[]{1, 2},
new int[]{3, 4}
);

// for or foreach ...

dalmeeme 2011-12-26
  • 打赏
  • 举报
回复
或者用for循环也可以:
		List<int[]> a = new List<int[]>();
int[] b = new int[] { 1, 2 };
a.Add(b);
b = new int[] { 3, 4 };
a.Add(b);
for (int i = 0; i < a.Count; i++)
{
for (int j = 0; j < a[i].Length; j++)
Response.Write(a[i][j] + "<br/>");
}
dalmeeme 2011-12-26
  • 打赏
  • 举报
回复
你可以这么写:
		List<int[]> a = new List<int[]>();
int[] b = new int[] { 1, 2 };
a.Add(b);
b = new int[] { 3, 4 };
a.Add(b);
foreach (int[] w in a)
{
foreach (int y in w)
Response.Write(y + "<br/>");
}

输出:
1
2
3
4
bowfetion 2011-12-26
  • 打赏
  • 举报
回复
就一个双重循环,没别的东西,第一层的长度我通过count获得出来然后循环出来,下面一层,我不知道如何可以循环,问题就出在这里。
CooperWu 2011-12-26
  • 打赏
  • 举报
回复
请问你要干什么?
P。S。你贴出来的代码不太容易阅读。
bowfetion 2011-12-26
  • 打赏
  • 举报
回复
我现在用的就是list,只是给出行号无法获得列长度。就是无法现在的错误是第二层循环的嗲发那个,你看下代码再说好不。
绝代坏坏 2011-12-26
  • 打赏
  • 举报
回复
你可以先定义数组但是不用给出范围,等确定了范围后再初始化数组。另外一个办法是用list吧。

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧