zoukankan      html  css  js  c++  java
  • EffectiveC#8--确保0对于值类型数据是有效的(初始化问题)

    1.决不要创建一个不包括0在内的枚举类型

    2.举例如下:

    public enum Planet {  Mercury = 1, Venus = 2, Earth = 3, Mars = 4, Jupiter = 5, Saturn = 6, Neptune = 7, Uranus = 8, Pluto = 9 }
    

      Planet sphere = new Planet();

         sphere此时的值就是0,而这并不是一个有效的值。这也会使得包含(Planet)这一类型的其它类型很难创建。

        假设某个结构体含有上述枚举类型的变量,创建这个实例的用户会创建一个不合法的Planet成员

    建议做法:加入一个0值

    public enum Planet { None = 0, Mercury = 1, Venus = 2, Earth = 3, Mars = 4, Jupiter = 5, Saturn = 6, Neptune = 7, Uranus = 8, Pluto = 9 }
    

    3.值类型中包含了引用类型,字符串是一个常见的例子

    public struct LogMessage { private int _ErrLevel; private string _msg; }
    

      LogMessage MyMessage = new LogMessage( );   _msg被初始为null。

  • 相关阅读:
    MFC自绘框架窗口客户区
    命令行下创建mysql数据库
    linux重置mysql root密码的6种方
    xampp修改mysql默认密码详解
    Java常用包装类
    Java异常处理
    Java数组
    Java流程控制
    Java基本数据类型
    golang https server分析
  • 原文地址:https://www.cnblogs.com/tiantianle/p/4870240.html
Copyright © 2011-2022 走看看