C#中数组与ArrayList的简单使用
2013-05-18 12:58
302 查看
1. 多维数组
多维数组:行数和列数在定义时已确定string[,] arr = new string[2, 3]; arr[0, 0] = "坐标:1-1"; arr[0, 1] = "坐标:1-2"; arr[0, 2] = "坐标:1-3"; arr[1, 0] = "坐标:2-1"; arr[1, 1] = "坐标:2-2"; arr[1, 2] = "坐标:2-3"; int m = arr.GetLength(0); // 行数 int n = arr.GetLength(1); // 列数 StringBuilder str = new StringBuilder(); // 类似于String类型变量 for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { str.Append(arr[i, j] + " "); } } Console.WriteLine(str.ToString());
2. 锯齿数组
锯齿数组:行数确定,列数不定,数组里套数组。int[][] arr = new int[3][]; arr[0] = new int[] { 1, 2, 3, 4 }; arr[1] = new int[] { 100 }; arr[2] = new int[] { 10, 20, 30 }; foreach (int[] i in arr) { foreach (int x in i) { Console.WriteLine(x); // 遍历所有元素 } } Console.WriteLine(arr[2][2]); // 访问单一元素,注意和多维素组的差别,会输出30
3. 数组的常用操作
arr.Length属性:数组中元素个数;arr.GetLength(n):获取数组arr第n维元素的个数;
arr.Rank:获取数组arr的维数;
①克隆数组,就是复制一份新的
int[] arr = new int[] { 1, 2, 3, 4}; int[] arr2 = (int[])arr.Clone(); for (int i = 0; i < arr2.Length; i++) { Console.Write(arr2[i]); }
4. ArrayList
命名空间:using System.Collections;ArrayList就是传说中的动态数组,它可以动态的增加和减少元素,另外它可以存储任意个数和任意类型的元素。
属性
Count属性是目前ArrayList包含的元素的数量,这个属性是只读的Capacity属性是目前ArrayList能够包含的最大数量,可以手动的设置这个属性,但是当设置为小于Count值的时候会引发一个异常。
方法
Add(v):添加一个元素(参数v,任何类型)到当前列表的末尾AddRange方法用于添加一批元素到当前列表的末尾
Remove方法用于删除一个元素,通过元素本身的引用来删除
RemoveAt(i):方法用于删除一个元素,通过索引值(参数i)来删除
RemoveRange用于删除一批元素,通过指定开始的索引和删除的数量来删除
Insert用于添加一个元素到指定位置,列表后面的元素依次往后移动
InsertRange用于从指定位置开始添加一批元素,列表后面的元素依次往后移动
Clear():方法用于清除现有所有的元素
Contains(v):方法用来查找某个对象(参数v)在不在列表之中
ToArray(Type t):这个方法把ArrayList的元素Copy到一个新的数组中,参数为Type类型
① 简单使用
ArrayList list = new ArrayList(); // 声明变量 list.Add(2); list.Add("北京"); list.Add(new int[] { 2, 4, 6 }); list.Add("南京"); list.Add(3); foreach (var p in list) { Console.Write(p.ToString() + " | "); // 输出:2 | 北京 | System.Int32[] | 南京 | 3 | }
② ArrayList与数组转换
元素类型相同的转换ArrayList list = new ArrayList(); list.Add(1); list.Add(2); list.Add(3); // 转换方式1:ToArray() int[] list2 = (int[])list.ToArray(typeof(int)); // 转换方式2:CopyTo() int[] list3 = new int[list.Count]; list.CopyTo(list3);
元素类型不同的转换
ArrayList arr = new ArrayList(){ "北京", 1}; //往数组中添加不同类型的元素 object[] arr2 = (object[])arr.ToArray(typeof(object)); //正确 string[] arr3 = (string[])arr.ToArray(typeof(string)); //错误
相关文章推荐
- C#中数组与ArrayList的简单使用
- C#使用泛型数组简单实现一个列表List
- C#中数组、ArrayList与List三个对象的使用区别
- 关于C#中数组、ArrayList与List三个对象的使用区别
- C#使用foreach语句简单遍历数组的方法
- 简单说说用C#压缩资源以及FLASH中使用解压缩后的资源
- C#使用foreach语句访问数组
- C#学习 第三章 数组与集合 Array,ArrayList,Hashtable,Dictionry,Stack,Queue,SortedList
- DES的两个简单的加密、解密函数(C#中使用)
- C#中数组、ArrayList和List三者的区别
- C#: indexof的简单使用
- C#使用双链表来简单模拟IE前进后退功能
- 关于使用C#编写一个简单的日志类
- C# 数组、ArrayList和List<T>的区别
- C#中索引器简单使用
- .NET调用Oracle存储过程,使用数组类型的参数(如ArrayList)
- C#单例模式的简单使用
- 使用数组简单实现的阻塞队列
- 数据结构与算法(C#):数组和ArrayList
- C#学习笔记 LINQ简单使用