终于又到一个白天了,起床,伸个懒腰,又坐到了电脑前面.今天我要向大家讲的是c#的数组(arrays).c#中的数组和其它一些优秀的语言一样,也是从0开始计的,这从我们以前的例子里可以看出来,也就是说,一个数组的第一个元素是a[0],而不是像vb的a(1).虽然是这样,但是你还是要注意一些区别. 在声明一个数组的时候,方括号必须跟在类型后面,而不能跟在变量名后面,如: int[] table; file://不能写成int table[] 这一点显然与java是不同的,在java中这样是可以的. 还有就是在c#中你可以不指定数组的大小,这与c语言是不一样的.这使得你可以指定任意长度的数组,如下: int[] numbers; // 它的长度是任意的 当然,你也可以指定它的大小: int[10] numbers;//指定了一个长度为10的数组. 在c#中,支持的数组包括:单维数组,多维数组和多重数组.它们的声明方法如下: 单维数组: int[] numbers; 多维数组: string[,] names; 多重数组: byte[][] scores; 声明一个数组并不代表已经建立了它.在c#中,所有的数组元素都是对象(倒!怎么跟java说得一样),所以在建立它之前,首先要将它实例化: 单维数组: int[] numbers = new int[5]; 多维数组: string[,] names = new string[5,4]; 多重数组: byte[][] scores = new byte[5][]; for (int x = 0; x < scores.length; x++) { scores[x] = new byte[4]; } 呵呵,这有点奇怪吧,先不用理它,以后再说. 我们同样可以建立更大的数组,比如一个三维数组: int[,,] buttons = new int[4,5,3]; 我们甚至可以混合多维数组和多重数组,下面的例子说明了这些: int[][,,][,] numbers; 下面的例子展示了以上所有构建数组的方法: 000: // arrays\arrays.cs 001: using system; 002: class declarearrayssample 003: { 004: public static void main() 005: { 006: // single-dimensional array 007: int[] numbers = new int[5]; 008: 009: // multidimensional array 010: string[,] names = new string[5,4]; 011: 012: // array-of-arrays (jagged array) 013: byte[][] scores = new byte[5][]; 014: 015: // create the jagged array 016: for (int i = 0; i < scores.length; i++) 017: { 018: scores[i] = new byte[i+3]; 019: } 020: 021: // print length of each row 022: for (int i = 0; i < scores.length; i++) 023: { 024: console.writeline("length of row {0} is {1}", i, scores[i].length); 025: } 026: } 027: } 它的输出是: length of row 0 is 3 length of row 1 is 4 length of row 2 is 5 length of row 3 is 6 length of row 4 is 7 在c#中数组的初始化可以在建立时就初始化,和java和c一样,用的是{}.当然,很明显,你的初始化值必须与你声明的数组类型一样,比如你定义了一个int类型的,你就不能给它一个string,唉,java看多了,在c#中,string应写为string,要不然,又要出错了.sunwen可能在后面的课程中出现这样的错误,还望大家指正.呵呵! 下面的例子说明了数组的初始化: int[] numbers = new int[5] {1, 2, 3, 4, 5}; string[] names = new string[3] {"matt", "joanne", "robert"}; 你也可以省略数组的大小,如: int[] numbers = new int[] {1, 2, 3, 4, 5}; string[] names = new string[] {"matt", "joanne", "robert"}; 你甚至可以省略new语名,如果你给了值: int[] numbers = {1, 2, 3, 4, 5}; string[] names = {"matt", "joanne", "robert"}; 在c#中,数组的访问和c/c++/java是一样的,下面的语句建立了一个数组,并将它的第五个元素赋值为5: int[] numbers = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}; numbers[4] = 5; 如果你没有c/java/c++的编程经验,那么sunwen在此提醒,numbers[4]表示的是这个数组的第五个元素,因为我在前面已经说过了,数组是从0开始计的,所以0,1,2,3,4正好是第五个,所以....(台下:笨蛋,你以为我们不知道呀,快继续说!) 下面的例子是关于多维数组的: int[,] numbers = { {1, 2}, {3, 4}, {5, 6}, {7, 8}, {9, 10} }; numbers[1, 1] = 5; 再次注意,c#中的所有数组都是对象(faint,d版),所以,你可以用访问对象的方法,来访问数组.而system.array就是数组的抽象.你可以参看文档来看array类支持的方法.举个例子来说吧,你可以用length属性来访问数组的长度.如下例: int[] numbers = {1, 2, 3, 4, 5}; int lengthofnumbers = numbers.length; 噢,好了,又完了一课,现在是北京时间上午9点16分,我要休息一下了!哈哈!待会见!
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器