结构体介绍:
1.结构体是一种数据类型,属于值类型。类似于类,代表着一个记录,可以用于记录一个物品的所有属性,与类的成员变量一样。不过类是属于引用类型,结构体是属于值类型。
2.结构体存取的速度会比类速度快些
3.使用student关键字创建结构体,创建时如果不加修饰符的话默认为private。
4.结构可以不需要new
特点:
1.结构可带有方法、字段、索引、属性
2.结构可定义构造函数,但不能定义析构函数。但是,您不能为结构定义无参构造函数。无参构造函数(默认)是自动定义的,且不能被改变。
3.与类不同,结构不能继承其他的结构或类。
4.结构不能作为其他结构或类的基础结构。
5.结构可实现一个或多个接口。
6.结构成员不能指定为 abstract、virtual 或 protected。
7.当您使用 New 操作符创建一个结构对象时,会调用适当的构造函数来创建结构。与类不同,结构可以不使用 New 操作符即可被实例化。
8.如果不使用 New 操作符,只有在所有的字段都被初始化之后,字段才被赋值,对象才被使用。
结构体与类的区别:
结构体 | 类 |
允许不使用new对其实例化 | 必须使用new对其实例化 |
没有默认构造方法 | 有默认构造方法 |
不能继承类 | 能继承类 |
没有析构方法 | 有析构方法 |
不允许使用abstract、protected以及sealed修饰 | 允许使用abstract、protected以及sealed修饰 |
实例:
Public struct people
{
public int age;
public string name;
public void print()
{
MessageBox.show(“年纪:” + age + ",名字:" + name);
}
}
Public void main(string[] str1){
people peo; //可以不进行实例化
//people peo = new people ; //也可以进行实例化,两种写法都可以
Peo.age = 20;
Peo.name = “张三”;
MessageBox.show(Peo.name+ “年龄:” + Peo.age); //得到结果为张三年龄:20
Peo.print() //得到结果 年纪:20,名字:张三
}