永发信息网

c#怎么向二维数组添加元素

答案:3  悬赏:50  手机版
解决时间 2021-03-25 08:45
c#怎么向二维数组添加元素
最佳答案
int[,] queue = new int[0, 0]; 是不是初始化有问题呀,总共 0行0列,还要怎么想里面添加元素呢?

你说 每加入一个元素,数组长度+1 ,因为你定义的是 二位的,[x,y] 的长度是 x乘y,并且数组的 Length 长度属性是只读的,不允许修改。追问就像JS里面的push()方法,我想往数组里面添加元素,并且返回新数组。追答那在 queue 初始化的时候 new int[0, 0]; 长度就不可以写死,而要根据你的长度设定依据来设置。

要 像JS里面的push()方法,我想往数组里面添加元素,并且返回新数组 的话,直接用 List 或则 Dictionary ,之后再通过 ToArray() 方法转换并返回就行了

List 类型 和 Dictionary 类型都有 Add() 方法,可以当做 JS 里面的 push() 来使用.
全部回答
二维数组必须初始化长度
如果只知道一个长度的话可以用 ArrayList[]
另外,
用datatable不行吗?
int[,] queue = new int[0, 0];这个初始化0行0列 不能添加数据
int[,] queue = new int[x, y];---x是行个数---y是列个数
两种方式:
一 使用for循环
如 int DestArray[y][x];//目的数组
int SrcArray[y][x];//源数组
for(int i=0; i {
for(int j=0; j {
DestArray[i][j] = SrcArray[i][j];
}
}
二 使用内存操作函数来提高效率
二维数组初始化,将DestArray全部置为零
int DestArray[y][x];
for(int i=0; i {
memset(DestArray[i], 0, sizeof(int)*x);
}
这种方法效率更高。
还有将memset改为 memcpy 复制已有的数组。
int DestArray[y][x];//目的数组
int SrcArray[y][x];//源数组
for(int i=0; i{
memcpy(DestArray, SrcArray, sizeof(int)*x);
}
以上两个例子都是考虑了二维数组时动态生成时的情况
因为内存不连续,需要用for循环来对每个块的内存赋值
假如是程序源码中已定义大小且连续的内存,可以不需要for循环直接调用这两个函数,例如:
int DestArray[100][100];
int SrcArray[100][100];
memcpy(DestArray, SrcArray, sizeof(int)*100*100);
memset(DestArray, 0, sizeof(int)*100*100);追问
      

这样可以吗?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我是个女人,想去做尼姑,可以吗?脑子也不聪
每天早上起来枕头上都有十根头发!正常吗?我
柴胡12g,黄苓12g,甘草6g,白芍10g,丹皮10g,地
什么牌子的太阳眼镜好
steam为什么上面写着错误代码102
问男朋友那么多美女你干嘛不找,为啥我删你好
客居什么的词语
高职单招可以升本科吗 单招与统招升本有什么
中国文明网向国旗敬礼签名 河北省的网址
求Z3040摇臂钻床主轴及进给传动机构CAD图
秦皇岛慧姐面皮(海达路)我想知道这个在什么地
苏轼写给妻子的追悼诗是哪一首?
刑警大队有多少人
周永k是十八打以后最大的贪官吗?
南柯一梦兆吉祥,劝君小心中妙计
推荐资讯
牵制是什么意思,"牵制"的汉语解释
vray高光模糊和光泽模糊有什么区别?
java中八大基本数据类型有hasdcode值么
2019年深圳圆梦计划什么时候开始,有没有人知
关于磨削油
浙大机械工程怎么样
华美灯具城地址在什么地方,想过去办事
给黄河写一封信200字
家长反馈是什么意思
求助:下属对领导表示感谢该怎么说最得体 不
我原来性欲很好,吃了数月三七、天麻、丹参粉
英特尔Xeon(至强)E5620性能怎样介绍一下
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?