欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C# 数组实例介绍(图文)

程序员文章站 2023-12-16 22:46:04
数组即是一组相同类型组合在一起,使用一个通用的名称,通过分配的下标访问的数据集合中的元素。 数组是具有相同类型的一组数据。当访问数组中的数据时,可以通过下标来指明。c#中...

数组即是一组相同类型组合在一起,使用一个通用的名称,通过分配的下标访问的数据集合中的元素。

数组是具有相同类型的一组数据。当访问数组中的数据时,可以通过下标来指明。c#中数组元素可以为任何数据类型,数组下标从0开始,即第一个元素对应的下标为0,以后逐个递增。数组可以一维也可多维。

一维数组是最基本的数组类型,其声明方法如下:

数据类型 [ ] 数组名 ;

举例:
int [ ] anarray ; // 声明一个整型的一维数组

具有两个维度的数组是二维数组,其声明方法如下:
数据类型 [ , ] 数组名 ;
举例:

int [ , ] anarray ; // 声明一个整型的二维数组
float [ , ]anarrayoffloats; // 声明一个浮点型的二维数组
string [ , ] anarrayofstrings; // 声明一个字符串型的二维数组

声明数组变量时,还没有创建数组,还没有为数组中元素分配任何内存空间,因此,声明数组后,需要对数组实例化:

anarray = new int [2,4] ;
anarrayofstrings = new stirng [2,4] ;

我们也可以用给定的值对数组元素进行初始化。

int [, ] anarray = new int [2, 4] {{1,2,3,4},{5,6,7,8}};
string [, ] anarrayofstrings = new string [2, 2] {{"某甲","某乙"}, {"冠军" ,"亚军" }};

也可使用下列快捷方式:

int [, ] anarray = {{0,1,2,3},{1,2,3,4}};
string [, ] anarrayofstrings = {{"某甲","某乙"}, {"冠军" ,"亚军" }};

在c#语言中,数组为我们提供了一些有用的特性,利用这些特性,我们可以完成一些更高级的功能。
数组名.length :返回一个整数,该整数表示该数组的所有维数中元素的总数。
数组名.rank :返回一个整数,该整数表示该数组的维数。
数组名.getlength(int dimension) :返回一个整数,该整数表示该数组的指定维(由参数dimension指定,维度从零开始)中的元素个数。

4.foreach语句针对数组或集合中的每一个元素,循环运行嵌入语句。
foreach语句的语法格式为:
foreach (数据类型 标识符 in 表达式)
嵌入语句

//包含6个元素的一维整数数组;
int[] mf1=new int[6]; //注意初始化数组的范围,或者指定初值;

//包含6个元素的一维整数数组,初值1,2,3,4,5,6
int[] mf2=new int[6]{1,2,3,4,5,6};
 
//一维字符串数组,如果提供了初始值设定项,则还可以省略 new 运算符
string[] mf3={"c","c++","c#"};

//一维对象数组
object[] mf4 = new object[5] { 26, 27, 28, 29, 30 };
 
//二维整数数组,初值mf5[0,0]=1,mf5[0,1]=2,mf5[1,0]=3,mf5[1,1]=4
int[,] mf5=new int[,]{{1,2},{3,4}};
 
//6*6的二维整型数组
int[,] mf6=new mf[6,6];

下面来看一个一维字符串数组的遍历

using system; 
public class mikecat 
{ 
static void printarray(string[] arr) 
{ 
//打印数组元素,arr.length 表示数组元素的个数 
for(int i=0;i<arr.length;i++) 
{ 
console.writeline("arr[{0}]={1}",i,arr[i]); 
} 
} 
public static void main() 
{ 
string[] arr={"c","c++","c#"}; 
//将数组作为一个参数传递 
printarray(arr); 
} 
} 

程序结果:arr[0]=c arr[1]=c++ arr[2]=c#

下面来看一个4行2列(4*2)的整型数组的遍历:

using system; 
public class mikecat 
{ 
static void printarray(int[,] arr) 
{ 
//通过两次for循环遍历二维数组 
for(int i=0;i<4;i++)//初始化i作为循环变量,i++实现该变量的自增运算。 
//for循环满足条件后执行完循环体一次后执行i++,然后进入下次循环。简单的c语法,这里做简单介绍供初学者学习。(详细可参阅《c# 高级编程4.0》一书) 
{ 
for(int j=0;j<2;j++) 
{ 
console.writeline("arr[{0},{1}]={2}",i,j,arr[i,j]);//打印每个二维数组元素 
} 
} 
} 
public static void main() 
{ 
//主函数 
//将数组作为一个参数传递 
printarray(new int[,]{{1,2},{3,4},{5,6},{7,8}}; 
} 
} 


运行结果:arr[0,0]=1 arr[0,1]=2 arr[1,0]=3 arr[1,1]=4 arr[2,0]=5 arr[2,1]=6 arr[3,0]=7 arr[3,1]=8

数组的属性:

•数组可以是一维、多维或交错的。
•数值数组元素的默认值设置为零,而引用元素的默认值设置为 null。
•交错数组是数组的数组,因此,它的元素是引用类型,初始化为 null。
•数组的索引从零开始:具有 n 个元素的数组的索引是从 0 到 n-1。
•数组元素可以是任何类型,包括数组类型。
•数组类型是从抽象基类型 array 派生的引用类型。由于此类型实现了 ienumerable 和 ienumerable,因此可以对 c# 中的所有数组使用 foreach 迭代。
我对数组的理解:在 c# 中,数组实际上是对象,而不只是像 c 和 c++ 中那样的可寻址连续内存区域

一维数组 :一维数组以线性方式存储固定数目的项,只需一个索引值即可标识任意一个项。
一维数组实例:

static class program 
  { 
     
     
    static void main() 
    { 
      //一维数组 
      int[] arry = new int[9] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; 
      arry[0] = 2;//第一行为2 
      console.writeline(arry); 
  } 
}

运行结果截图

C# 数组实例介绍(图文)

二维数组实例

//二维数组 
 
      int[,] arry2 = new int[2, 3] { { 1, 2, 3 }, { 4, 5, 6 } }; 
      arry2[1, 0] = 5;//改变第二列的第一行为5 
 
      for (int i = 0; i < arry2.getlength(1); i++) 
      { 
        for (int y = 0; y < arry2.getlength(1); y++)//第一个for循环遍历二维数组的列,第二个for循环遍历二维数组的行 
        { 
          console.write(arry2[i, y]); 
        } 
      }

运行结果截图

C# 数组实例介绍(图文)

交错数组实例

//交错数组 
     int[][] arry3 = new int[3][];//交错数组必须指定下标的个数 
 
     arry3[0] = new int[] { 0, 1, 2, 4 }; 
     arry3[1] = new int[] { 3, 4, 5, 6 }; 
     arry3[2] = new int[] { 4, 8, 9 }; 
     for (int x = 0; x < arry3.length; x++) 
     { 
       for (int z = 0; z < arry3[x].length; z++) 
       { 
         console.write(arry3[x][z]); 
       } 
       console.writeline();//以inti的数组元素为准进行换行. 
     }

运行结果截图

C# 数组实例介绍(图文)

c# 还提供 foreach 语句。该语句提供一种简单、明了的方法来循环访问数组的元素,看下面实例。

  
static void main() 
    { 
int [] arry4=new int[100]; 
 
      foreach (int a in arry) 
      { 
        console.write(arry); 
      } 
}

运行结果截图

C# 数组实例介绍(图文)

源代码下载地址:arraymodel(jb51.net).rar

上一篇:

下一篇: