打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
C# 用List创建二维数组

我自己写的

List<List<int>> dList = new List<List<int>>(); List<int> list = new List<int>(new int []{10,1,13,16,17}); List<int> list2 = new List<int>(new int[] { 21, 2, 23, 26, 27 }); dList.Add(list); dList.Add(list2); for (int i = 0; i < dList.Count; i++) { for (int j = 0; j < dList[i].Count; j++) { Console.Write(dList[i][j]+" ,"); } Console.WriteLine("第{0}行数据", i); }




最近在解决一个地图图层操作的问题,图层操作的原理大致是这样的:
  1.    每层图片划分为同样大小的网格,划分后可以看成一个二维数组,每一个网格代表数组中的一个元素,将其转化 为一      维数组(后面还会增加一维,由于对超过二维的数组有一种天然的的恐惧感,这里就把其转化为一维的了);
  2. 将每一层看做一维数组中的一个元素,这样对图层的操作就变成一个对二维数组的操作;
  3. 预设的目标是能够实现动态的增加图层,增加的图层放在最上层;
  4. 相邻两个图层之间能够交换顺序,即数组list[0]和数组list[1]能够交换位置;
  5.   能够删除某一指定的层;
就如上上面提到的一样,我想到的解决办法就是使用二维数组,但我需要的图层数目是动态的增加和减少的,而且某一层的顺序位置是可以变化的,这就涉及到数组的添加,删除,顺序变化,这些是普通的二维数组是实现不了的,于是就想到是用List,然后就在网上查了一些资料和MSDN文档,写了下面的测试代码:

int[] a = new int[5];
int[] b = new int[5];
int[] c = new int[5];
int[] d = new int[5];
int[] e = new int[5];
int[] f = new int[5]; //创建一维数组
List<int[]> list = new List<int[]>();
list.Add(a);
list.Add(b);
list.Add(c);

list.Add(d); //添加图层
list[0][3] = 20;
list[1][2] = 2; //这里和普通二维数组的使用[,] 不一样
list[2][3] = 40;

list.Reverse(1,2); //图层交换


我自己写的

List<List<int>> dList = new List<List<int>>(); List<int> list = new List<int>(new int []{10,1,13,16,17}); List<int> list2 = new List<int>(new int[] { 21, 2, 23, 26, 27 }); dList.Add(list); dList.Add(list2); for (int i = 0; i < dList.Count; i++) { for (int j = 0; j < dList[i].Count; j++) { Console.Write(dList[i][j]+" ,"); } Console.WriteLine("第{0}行数据", i); }



阅读(4386)| 评论(0)
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
二维数组和多维数组
ArrayList的使用方法
(教学思路 C#数组二)数组的属性、foreach遍历、交错数组与矩形数组的区别
《C#语言程序设计项目教程》第6章 数组与集合写字字帖
V3.0维数组的声明
numpy中的一维数组的理解_numpy一维数组
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服