2011年8月23日 星期二 13时33分
struct结构类型
public struct zxy //结构名称有访问修SHI符
{
public int length;//结构成员体也有访问修SHI符
public int weight;
}
//结构是值类型
//FENG装小型变量组
struct 类型是一种值类型,通常用来封装小型相关变量组,例如,矩形的坐标或库存商品的特征。 下面的示例显示了一个简单的结构声明。
public struct Book
{
public decimal price;
public string title;
public string author;
}
备注
//结构包含构造函数,FIELD,METHOD,ATTRIBUTE,索引器,运算符,事件
//NESTED TYPE
结构还可以包含构造函数、常量、字段、方法、属性、索引器、运算符、事件和嵌套类型,但如果同时需要上述几种成员,则应当考虑改为使用类作为类型。
结构可以实现接口,但它们无法继承另一个结构。 因此,结构成员无法声明为 protected。
using System;
public class St
{
private static int _s;
public struct zxy
{
public int length;//结构类型的成员也有访问修SHI符,不然调用方没法访问它
public int weight;
//结构成员就是一个方法的声明
//结构体成员的方法声明须有访问修SHI符
public void SetSt(int a)
{
length = a;//为结构体成员weight提供值
}
//结构成员是属性访问器
public int S
{
get
{
return St._s;//在结构体成员不能直接访问非静态类的成员
}
set
{
St._s = value;
}
}
}
//静态方法用于改变结构成员的属性访问器set
public static void Chg_s(int _new)
{
_s = _new;
}
public static void Main()
{
zxy z;
z.length = 1;
z.weight = 3;
Console.WriteLine(z.length);
Console.WriteLine(z.weight);
Console.WriteLine();//回车换新行,其实就是搞一个新空行出来
z.SetSt(88);//结构体成员weight通过结构体成员方法由变为
Console.WriteLine(z.length);
St._s = 1234;
Console.WriteLine(St._s);
Console.WriteLine(z.S);//通过结构成员的属性访问器get返回_s的值为
St.Chg_s(666);
Console.WriteLine(z.S);
Console.ReadKey();
}
}
using System;
public class Test
{
struct Dimensions //结构声明
{
public double length;
public double width;
//结构体成员为构造函数
//就是为结构初始化所用
public Dimensions(Double len, double wid)
{
length = len;
width = wid;
}
//结构其实是继承于system.object基类,所以可以重写object类的方法tostring
public override string ToString()
{
return "(" + length.ToString() + ";" + width.ToString() + ")";
}
}
public static void Main()
{
//要在main方法中调用类的结构,必须结构声明为public不然难以访问
Dimensions d = new Dimensions(1, 8);
Console.WriteLine(d.length);//输出结构成员
Console.WriteLine(d.width);
Console.WriteLine(d.ToString());//调用结构成员的重写object类之tostring方法
Console.ReadKey();
}
}
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9240380/viewspace-705623/,如需转载,请注明出处,否则将追究法律责任。