第5章数组和集合..pptVIP

  • 19
  • 0
  • 约1.13万字
  • 约 31页
  • 2016-12-21 发布于重庆
  • 举报
* * 第5章 数组和集合 5.1 一维数组 5.2 二维数组 5.3 Array类 5.4 交错数组 5.5 ArrayList类 5.6 ListT类 5.1 一维数组 5.1.1 一维数组的定义 定义一维数组的语法格式如下: 数组类型[] 数组名; 例如,以下定义了3个一维数组,即整型数组a、双精度数组b和字符串数组c。 int[] a; double[] b; string[] c; 在定义数组后,必须对其进行初始化才能使用。初始化数组有两种方法:动态初始化和静态初始化。 5.1.2 一维数组的动态初始化 动态初始化需要借助new运算符,为数组元素分配内存空间,并为数组元素赋初值,数值类型初始化为0,布尔类型初始化为false,字符串类型初始化为null。 动态初始化数组的格式如下: 数组类型[] 数组名=new 数据类型[n]{元素值0,元素值1,?,元素值n-1}; 其中,“数组类型”是数组中数据元素的数据类型,n为“数组长度”,可以是整型常量或变量,后面一层大括号里为初始值部分。 1. 不给定初始值的情况 如果不给出初始值部分,各元素取默认值。例如: int[] a = new int[10]; 该数组在内存中各数组元素均取默认值0。 2. 给定初始值的情况   如果给出初始值部分,各元素取相应的初值,而且给出的初值个数与“数组长度”相等。此时可以省略“数组长度”,因为后面的大括号中已列出了数组中的全部元素。例如:   int[] a = new int[10]{1,2,3,4,5,6,7,8,9,10};   或   int[] a = new int[]{1,2,3,4,5,6,7,8,9,10}; 在这种情况下,不允许“数组长度”为变量,例如:   int n = 5; //定义变量n   int[] myarr = new int[n] {1,2,3,4,5}; //错误 如果给出“数组长度”,则初始值的个数应与“数组长度”相等,否则出错。例如: int[] mya = new int[2] {1,2};   //正确   int[] mya = new int[2] {1,2,3}; //错误   int[] mya = new int[2] {1};   //错误 5.1.3 一维数组的静态初始化 静态初始化数组时,必须与数组定义结合在一起,否则会出错。静态初始化数组的格式如下: 数据类型[] 数组名={元素值0,元素值1,?,元素值n-1}; 用这种方法对数组进行初始化时,无需说明数组元素的个数,只需按顺序列出数组中的全部元素即可,系统会自动计算并分配数组所需的内存空间。 例如,以下是对整型数组myarr的静态初始化: int[] myarr={1,2,3,4,5}; 在这种情况下,不能将数组定义和静态初始化分开,例如,以下是错误的。 int[] myarr; myarr={1,2,3,4,5};  //错误的数组的静态初始化 5.1.4 访问一维数组中的元素 访问一维数组中的某个元素:名称[下标或索引]。 所有元素下标从0开始,到数组长度减1为止。例如,以下语句输出数组myarr的所有元素值: for (i=0;i5;i++) Console.Write({0} ,a[i]); Console.WriteLine(); C#还提供foreach语句。该语句提供一种简单、明了的方法来循环访问数组的元素。例如,以下代码定义一个名称为mya的数组,并用foreach语句循环访问该数组。 int[] mya = {1,2,3,4,5,6}; foreach (int i in mya) System.Console.Write({0} ,i); Console.WriteLine(); 输出为:1 2 3 4 5 6。 5.1.5 一组数组的越界 若有如下语句定义并初始化数组ca: int[] ca = new int[10]{1,2,3,4,5,6,7,8,7,9,10}; 数组ca的合法下标为0~9,如果程序中使用ca[10]或ca[50],则超过了数组规定的下标,因此越界了。C#系统会提示以下出错信息。 未处理的异

文档评论(0)

1亿VIP精品文档

相关文档