马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

数组实例代码讲解

[复制链接]
查看5226 | 回复2 | 2012-12-9 14:14:26 | 显示全部楼层 |阅读模式
数组是一组类型相同的有序数据。数组按照数组名、数据元素的类型和维数来进行描述。C#中提供System.Array类是所有数组类型的基类。

在进行批量处理数据的时候,我们要用到数组。C#中提供System.Array类是所有数组类型的基类。

数组的声明格式:

non-array-type[ dim-separators ] array-instance name;

比如我们声明一个整数数组:

int[] arr;

在定义数组的时候,可以预先指定数组元素的个数,这时在“[]”中定义数组的元素个数,它的个数可以通过数组名加圆点加“Length”获得。而在使用数组的时候,可以在“[]”中加入下标来取得对应的数组元素。C#中的数组元素的下标是从0开始的,也就是说,第一个元素对应的下标为0,以后逐个增加。

在C#中数组可以是一维的也可以是多维的,同样也支持矩阵和参差不齐的数组。一维数组最为普遍,用的也最多。我们先看一看下面的例子:

程序清单4-3:

  1. using System:
  2. class Test
  3. {
  4.   static void Main(){
  5.     int[] arr=new int[5];
  6.     for(int i=0;i〈arr.Length;i++)
  7.        arr[i]=i*i;
  8.     for(int i=0;i〈arr.Length;i++)
  9.        Console.WriteLine("arr[{0}]={1}",i,arr[i]);
  10.   }
  11. }
复制代码

这个程序创建了一个基类型为int型的一维数组,初始化后逐项输出。其中arr.Length表示数组元素的个数。程序的输出为:

arr[0]=0

arr[1]=1

arr[2]=4

arr[3]=9

arr[4]=16

上面的例子中我们用的是一维的,很简单吧!下面我们介绍多维的:

  1. class Text
  2. {
  3.   static void Main(){      //可动态生成数组的长度
  4.      string[] a1;  //一维string数组
  5.      string[,] a2  //二维
  6.      string[,,] a3 //三维
  7.      string[][] j2;  //可变数组(数组)
  8.            string[][][][] j3; //多维可变数组
  9. }
复制代码
在数组声明的时候可以对数组元素进行赋值,或者叫做对数组的初始化。也可以在使用的时候进行动态赋值。看下面的例子:
  1. class Test
  2. {
  3.   static void Main(){
  4.     int[] a1=new int[] {1,2,3};
  5.     int[,] a2=new int[,] {{1,2,3},{4,5,6}};
  6.     int[,,] a3=new int[10,20,30];
  7.     int[][] j2=new int[3][];
  8.     j2[0]=new int[] {1,2,3};
  9.     j2[1]=new int[] {1,2,3,4,5,6};
  10.     j2[2]=new int[] {1,2,3,4,5,6,7,8,9};
  11.    }
  12. }
  13. 上面的例子我们可以看出数组初始化可以用几种不同的类型,因为它要求在一个初始化时要确定其类型。比如下面的写法是错误的:
  14. class Test
  15. {
  16.   static void F(int[] arr){}
  17.   static void Main(){
  18.     F({1,2,3});
  19.   }
  20. }
  21. 因为数组初始化时{1,2,3}并不是一个有效的表达式。我们必须要明确数组类型:
  22. class Test
  23. {
  24.   static void F(int[] arr) {}
  25.   static void Main(){
  26.      F(new int[] {1,2,3});
  27.   }
  28. }
复制代码
C#论坛 www.ibcibc.com IBC编程社区
C#
C#论坛
IBC编程社区
chao2332601 | 2013-6-16 02:09:25 | 显示全部楼层
谢谢分享!!!
chao2332601 | 2013-6-16 04:54:14 | 显示全部楼层
谢谢分享!!!
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则