当前位置: 移动技术网 > IT编程>开发语言>c# > c# 值类型实例构造器

c# 值类型实例构造器

2019年07月18日  | 移动技术网IT编程  | 我要评论
引用类型包含值类型字段,引用类型初始化后,值类型默认会被初始化为0、null。 clr允许为值类型定义构造器,但是构造器的调用,就必须显式的写代码来调用它们。 clr不允许
引用类型包含值类型字段,引用类型初始化后,值类型默认会被初始化为0、null。
clr允许为值类型定义构造器,但是构造器的调用,就必须显式的写代码来调用它们。

clr不允许为值类型定义无参构造器。只能定义有参构造器,并且构造器中必须为值类型中的所有字段全部赋值,否则报错。

c#中虽然没有无参构造器,但是可以使用这个语法初始化在内部的字段:

structtype st = new structtype();//为内部字段初始化0或者null

所以对定义有参构造器的参考写法:
复制代码 代码如下:

public structtype(int x){ //定义有参构造器
this = new structtype();//将所有的字段初始化为0或者null
m_x = x;//用参数x覆盖m_x字段,m_x已被上句话初始化为0
}

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网