zoukankan      html  css  js  c++  java
  • 小问题【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;
        }
      }

  • 相关阅读:
    627. Swap Salary
    176. Second Highest Salary
    596. Classes More Than 5 Students
    183. Customers Who Never Order
    181. Employees Earning More Than Their Managers
    182. Duplicate Emails
    175. Combine Two Tables
    620. Not Boring Movies
    595. Big Countries
    HDU 6034 Balala Power! (贪心+坑题)
  • 原文地址:https://www.cnblogs.com/wouldguan/p/2406594.html
Copyright © 2011-2022 走看看