1. 程式人生 > >C#物件初始化器的使用

C#物件初始化器的使用

類的建構函式大家都知道可以過載,這樣就方便了,當需要例項化不同的物件的時候,可以呼叫不同的建構函式,現實構造不同物件的功能。

當然也可以使用物件初始化器的方法來實現這個功能,這個功能更加的方便靈活,可以根據個人的需要去定義,到底需要初始化哪一個引數。如下程式碼:

//通用建構函式的幾種方法
 public Student()
      {
      }
      public Student(string name,int age)
      {
          this.name = name;
          this.age = age;
      }
//這裡我們可以根據自己的需求去選擇相應的成員變數進行初始化,更加方便靈活
Student objStudent = new Student() { Name = "小王", Age = 25, ID = 110001 }; Student objStudent = new Student() { Name = "小王", Age = 25 };

當然這個地方我們也是需要用到封裝欄位,養成良好的編碼風格,屬性需要用Pascal命名方法,首字母大寫。

 private string name;
     public string Name
        {
            get { return name; }
            set { name = value; }
        }
     private int age;
     public int Age
     {
         get { return age; }
         set { age = value; }
     }
      private int iD;
      public int ID
      {
          get
{ return iD; } set { iD = value; } }

相關推薦

C#物件初始的使用

類的建構函式大家都知道可以過載,這樣就方便了,當需要例項化不同的物件的時候,可以呼叫不同的建構函式,現實構造不同物件的功能。 當然也可以使用物件初始化器的方法來實現這個功能,這個功能更加的方便靈活,可以根據個人的需要去定義,到底需要初始化哪一個引數。如下程式碼

C# 二十五、匿名型別與物件初始(附帶:類初始

匿名型別提供了一種方便的方法,可用來將一組只讀屬性封裝到單個物件中,而無需首先顯式定義一個型別。 型別名由編譯器生成,並且不能在原始碼級使用。 每個屬性的型別由編譯器推斷。 可通過使用new運算子和物件初始值建立匿名型別。 匿名型別包含一個或多個公共只讀屬性。 包含

C#中集合和物件初始的使用

物件與集合初始化器 物件初始化器 Student stu= new Student(){ Id = 1, Name ="YJingLee", Age = 22 }; 更方便給物件賦值 集合初始化器 List<int> num = new List<in

C#3.0物件初始和匿名型別

一、物件初始化器 C#3.0允許new操作符與匿名物件初始化器聯用來建立一個匿名型別的物件。 如下有一個Customer類的定義。 public class Customer { public string CustomerID { get; set; } public string CustomerNam

2018-09-30 預編譯指令與物件初始

1.預編譯指令 預編譯指令也叫預處理指令,在程式正式編譯之前執行。 這些指令不會轉化為可執行程式碼中的命令,但是會影響編譯過程中的各個方面。 (1)區域指令: #region Info ...... #eduregion 作用: 優化程式碼結構,當代碼有超過5

C# 對象初始和集合初始

price pub 構造 itl str public 通過 list 集合 /// <summary>/// 圖書類/// </summary>public class Book { /// <summary> ///

C/C++程式設計教訓----函式內靜態類物件初始非執行緒安全(C++11之前)

不少程式設計師在編寫程式的時候,會使用函式內靜態(static)變數,既能滿足函式內這個變數可以持久的記錄某些資訊,又使其訪問範圍的控制侷限於函式內。但函式內靜態類物件初始化是非執行緒安全的。 問題背景 在我們產品中對log4cxx做了一些簡單的封裝 (採用VS2005編譯),其中會

《隨筆一》——C#中的“靜態建構函式、物件初始語句”

  靜態建構函式 ● 我們在使用類中的靜態成員時,先要初始化這些成員。 在宣告靜態成員時、可以同時提供一個初始值。 但有時候我們需要執行更復雜的初始化操作, 這應該怎麼辦呢? ● 我們可以把建構函式宣告成static的, 一般來說, 靜態的建構函式初始化類的靜態欄位

物件集合初始

1 class Person 2 { 3 public string Name 4 { get; set; } 5 6 public override string ToString() 7 { 8

三、C#4.5語法新特徵-03(初始、匿名類匿名方法)

一、初始化器 1、物件初始化器 2、集合初始化器 在初始化該集合的選件類實現 IEnumerable時,集合初始值設定項可以指定一個或多個元素初始值設定項。 元素初始值設定項可以是簡單的值,也可以是表示式或物件初始值設定項。 通過使用集合初始值設定項,您將無需在原始碼中指定多個對該類的

C#的簡單語法和初始

程式碼如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using Sy

C#中使用匿名類和初始

程式碼如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespa

C# 匿名型別和初始

//匿名型別 var tom = new { Name = Tom, Age = 4 }; var holly = new { Name = Holly, Age = 31 }; var

C++順序容器類中物件初始、賦值、swap

順序容器中,對於初始化物件,除了使用列表和一對迭代器初始化物件時,列表中元素和求迭代器所引用的值跟初始化的物件相容即可。其他的都需要保證型別完全相同 至於賦值,C++順序容器來還定義了一個assig

C++ 建構函式、預設建構函式、解構函式和物件初始

#include <iostream> using namespace std; class Student{     private:         int m_age;         int m_grade;         string m_sex

c++類物件初始方式總結

在《inside the c++ object model》一書中談到copy constructor的構造操作,有三種情況下,會以一個object的內容作為另一個object的初值: 第一種情況: XX aa = a; 第二種情況: XX aa(a); 第三種情況: ex

C#語法小問題之不用new方法物件初始

ControllerInfoCollection controllers = scanner.Controllers;已知:ControllerInfoCollection是一個類名,scanner.Controllers表示物件scanner訪問屬性Controller

[C#.NET 拾遺補漏]03:你可能不知道的幾種物件初始方式

閱讀本文大概需要 1.2 分鐘。 隨著 C# 的升級,C# 在語法上對物件的初始化做了不少簡化,來看看有沒有你不知道的。 陣列的初始化 在上一篇羅列陣列的小知識的時候,其中也提到了陣列的初始化,這時直接引用過來。 int[] arr = new int[3] {1, 2, 3}; // 正兒八經的初始化in

C# 9.0新特性詳解系列之三:模組初始

## [1][1] 背景動機 關於模組或者程式集初始化工作一直是C#的一個痛點,微軟內部外部都有大量的報告反應很多客戶一直被這個問題困擾,這還不算沒有統計上的客戶。那麼解決這個問題,還有基於什麼樣的考慮呢? * 在庫載入的時候,能以最小的開銷、無需使用者顯式呼叫任何介面,使客戶做一些期望的和一次性的初始化。

C++11 初始列表(initializer_list)

clu amp space return ret 列表 stl容器 int stat C++11對原有的初始化列表(用花括號圍住的若幹個值)進行了大幅的擴展。以下寫法在C++11中都是被允許的: 1 int static_arr[5] = {1, 2, 3, 4};