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};