• 小问题【4】


    构造器:

        假如一个类没有显式定义任何构造器,C#编译器会自动添加一个没有参数的构造器(默认构造器)。一旦为一个类显式添加了一个构造器,C#编译器就不再自动提供默认构造器。

        C# 3.0 增加了对象初始化器,增加了一个成员初始化列表,等号左边是一个允许访问的字段属性,右边是具体要赋的值。

    示例代码:

      class Program
      {
        static void Main()
        {
          Employee e = new Employee()  //这里没分号
          {
            FirstName = "First",    //初始化列表
            LastName = "Last"
          };
          Console.Write(e.FirstName + "--" + e.LastName);
          Console.ReadKey();
        }
      }
      class Employee
      {
        public string FirstName;
        public string LastName;
      }

    集合初始化器:

        使用集合初始化器可以在集合实例化期间为集合内部的项赋值,借鉴数组的语法。

    代码:

      class Program
      {
        static void Main()
        {
          List<Employee> emp = new List<Employee>()
          {
            new Employee("F1", "L1"), //
            new Employee("F2", "L2")
          };
        }
      }
      class Employee
      {
        public string FirstName;
        public string LastName;
        public Employee(string firstName, string lastName)
        {
          FirstName = firstName;
          LastName = lastName;
        }
      }
    构造器重载:只要参数的数量和类型有所区别即可
      class Employee
      {
        public string FirstName;
        public string LastName;
        public Employee() {}  //构造器1
        public Employee(string firstName, string lastName) //构造器2
        {
          FirstName = firstName;
          LastName = lastName;
        }
      }


    使用this可以调用另一个构造器, this后添加与被调用构造器对应的一个参数列表。

        构造器初始化器会在执行当前构造器的实现之前,判断要调用另外哪一个构造器

      class Employee
      {
        public string FirstName;
        public string LastName;
        public Employee():this("F", "L") {}  //这里调用了下面的构造器
        public Employee(string firstName, string lastName) //
        {
          FirstName = firstName;
          LastName = lastName;
        }
      }

  • 相关阅读:
    tool公用工具方法
    angular5.x 拦截器 switchMap
    angular5.x拦截器 给get post请求添加参数user_token
    flex布局 阮一峰
    json.stringify()和json.parse()
    年份月数天数
    打印字母塔
    打印形状
    打印九九乘法表
    C语言猜数字游戏
  • 原文地址:https://www.cnblogs.com/wouldguan/p/2406594.html
Copyright © 2020-2023  润新知