c# 结构体的学习(学习记录)

结构体介绍:

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,名字:张三
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值