C#之数组

一.数组

C#中的数组可分为一位数组和多维数组以及不规则数组。
   一.定义一位数组的语法格式如下:
          数组类型[]  数组名;
        定义一位数组后要对其进行初始化,初始化方式可分为动态初始化和静态初始化
     A.动态初始化即用new关键字对其进行初始化,并为其赋初值。若没有为其赋初值,则数值类型默认为0,bool类型为false,字符串类型为null。语法格式如下:
         
数组类型[] 数组名=new 数据类型[n]{元素值0,元素值1,....}

       不给定初始值时例子如下:
        
   
int [] a= new int[10];//元素默认值为0
int n = 5;
int [] myarr = new int[n];

       给定初始值时例子如下:
int [] b = new int[3]{1,2,3}; //数组长度必须与元素个数相等
int [] b = new int[]{1,2,3}
注意:这种情况下不允许数组长度为变量,即使已经变量已经先赋值

    B.经态初始化语法如下:

  数组类型[]  数组名={元素值0,元素值1}; //不能将定义与初始化分开

      foreach语句说明:

                  

语法格式:

foreach(类型 迭代变量 in 数组集合)  //显式迭代变量格式

     语句;

foreach(var迭代变量 in 数组集合)  //隐式迭代变量格式

     语句;


       注意:迭代变量是只读的。


二:二维数组的定义
      
语法格式如下:
    数组类型[,] 数组名;
如:int [,] x;
对于多维数组,可以做类似推广。如三维数组:int[,,] p;
 
  
 
  
 
 
      动态初始化与静态初始化跟一位数组类似,在此不再做过多说明。
三:交错数组
     交错数组为数组的数组,它与多维数组类似,所不同的是,交错数组元素的维度和大小可以不同,而多维数组的均相同。
     特点如下:
              a.每一个子数组都是独立的多维数组。
              b.可以有不同长度的子数组。
              c.为数组的每一维使用一对中括号。
     例子如下:
int[][] a = new int[3][];  //实例化时第二维定义为[]
必须在初始a的元素后才可以使用它,可以如下初始化该元素:
a[0]=new int[5];   //定义五个元素
a[1]=new int[4];
a[2]=new int[2];
交错数组a的每一个元素都是一个一位数组。

       注意:不能在交错数组的初始化中指定除顶层数组之外的数组大小。如以下语句是错误的:
             int [][] b = new int[3][4];    //第二个括号中的4是错误的,应该去掉。

除此之外,还有以下两种初始化方式,如:
int [][]b=new int[][]{new int[]{1,2,3},new int[]{3,2,1},...};
int [][]b={new int[]{1,2,3},new int[]{3,2,1},...};


总的来说,对于一位数组和多维数组,可分为静态初始化和动态初始化(使用new),动态初始化可分为给定初始值和不给定初始值的情况,给定初始值的情况可不写数组长度,但如果写的话则必须与后面的数据相对应。
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值