C#结构体数组

1.结构体类型的数组

当有多个同一结构体类型的结构体实例时,可以将它们组织 成一个结构体数组。结构体数组的元素类型为结构体类型,一 维结构体数组的定义语法如下:

结构体类型名[] 结构体数组名=new 结构体类型名[数组 长度];

结构体类型名[] 结构体数组名;
结构体数组名=new 结构体类型名[数组长度];

例如,定义包括100个点的结构体数组的代码如下:

POINT[] p=new POINT[100];

或

POINT[] p=new POINT[100];
POINT[] p; p=new POINT[100];

只有所使用的结构体类型含有带参数的构造函数时,才能对 结构体数组进行初始化。

struct POINT 
{   
	public double x;//横坐标   
	public double y;//纵坐标   
	public POINT(double a,double b)//带参数的构造函数   
	{     
		x=a;
		y=b;   
	} 
}; 
static void Main() 
{   
	POINT[] p = {new POINT(2.0,3.1), new POINT(2.5,3.8), new POINT(5.0,8.1)};//对结构体类型数组p进行初始化 
}

引用结构体数组成员时,需要将数组的下标运算符和成员引 用运算符结合起来使用。语法形式如下:

//结构体数组名[下标表达式].成员名


p[0].x=1.0;//p[0]是一个结构体类型实例 
p[0].y=2.0; 

2.数组作为结构体的成员

实际上,结构体的成员可以是C#支持的任意数据类型。因 此,数组也可以作为结构体成员,并且该数组的元素类型可以 是C#支持的任意数据类型。

struct RECTANGLE 
{
   public POINT[] p; 
} 
 
RECTANGLE r; 
r.p = new POINT[4]; 

引用结构体的数组成员时,需要将下标运算符和成员引用运 算符结合起来使用,语法形式如下:

例如: 结构体.数组成员名[下标表达式]

r.p[0].x=0; 
r.p[1].y = 2; 

你可能感兴趣的:(C#笔记)