• 值类型实例构造器



    CLR总是允许创建值类型的实例。另外值类型不一定需要定义构造器,c#编译器不会为值类型生成默认的无参构造器。

    引用类型包含值类型字段,引用类型初始化后,值类型默认会被初始化为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
    }


  • 相关阅读:
    SCCM2012 R2实战系列之四:初始化配置
    SCCM 2012 R2实战系列之一:SQL安装
    hdu 1242(bfs)
    hdu 1728(bfs)
    hdu 1253(bfs)
    hdu 3661
    hdu 1072(bfs)
    AC模版
    hdu 1010(dfs)
    poj 3628(01_page, dfs)
  • 原文地址:https://www.cnblogs.com/lmfeng/p/2726241.html
Copyright © 2020-2023  润新知