C 中new的幾種用法詳解

2022-09-26 04:33:13 字數 1334 閱讀 1929

在 c# 中,new 關鍵字可用作運算子、修飾符或約束。

new 運算子

用於建立物件和呼叫建構函式。

new 修飾符

用於向基類成員隱藏繼承成員。

new 約束

用於在泛型宣告中約束可能用作型別引數的引數的型別。

new 修飾符(c# 參考)

在用作修飾符時,new 關鍵字可以顯式隱藏從基類繼承的成員。隱藏繼承的成員意味著該成員的派生版本將替換基類版本。在不使用 new 修飾符的情況下隱藏成員是允許的,但會生成警告yncexuu。使用 new 顯式隱藏成員會取消此警告,並記錄代之以派生版本這一事實。

若要隱藏繼承的成員,請使用相同名稱在派生程式設計客棧類中宣告該成員,並使用 new 修飾符修飾該成員

new 運算子(c# 參考)

1.用於建立物件和呼叫建構函式。例如:

class1 o = new class1();

2.也用於為值型別呼叫預設的建構函式

例:int myint = new int();

myint 初始化為 0,它是 int 型別的預設值。該語句的效果等同於:int myint = 0;

3.不能過載 new 運算子。

4.如果 new 運算子分配記憶體失敗,則它將引發 outofmemoryexception 異常

new 約束(c# 參考)

new 約束指定泛型類宣告中的任何型別引數都必須有公共的無引數建構函式。當泛型類建立型別的新例項時,將此約束應用於型別引數,如下面的示例所示:

class itemfactory where t : new()

}通過繼承隱藏名稱採用下列形式之一:

程式設計客棧1.引入類或結構中的常數、指定、屬性或型別隱藏具有相同名稱的所有基類成員。

2.引入類或結構中的方法隱藏基類中具有相同名稱的屬性、欄位和型別。同時也隱藏具有相同簽名的所有基類方法。

3.引入類或結構中的索引器將隱藏具有相同名稱的所有基類索引器。

4.在同一成員上同時使用 new 和 override 是錯誤的。

注意:在不隱藏繼承成員的宣告中使用 new 修飾符將生成警告。

示例  在該例中,巢狀類 myclass 隱藏了基類中具有相同名稱的類。該例不僅說明了如何使用完全限定名訪問隱藏類成員,同時也說明了如何使用 new 修飾符消除警告訊息。

using system;

public class mybasec

} public class myderivedc : mybasec

public static void main()

} 輸出

100200

本文標題: c#中new的幾種用法詳解

本文位址:

C 中 new的幾種用法

今天看到乙個朋友問到c 的new關鍵字有幾種用法,現將從網上摘抄彙總資料到本站,以供大家查閱 1 new運算子 用於建立物件和呼叫建構函式。2 new修飾符 用於隱藏基類成員的繼承成員。3 new約束 用於在泛型宣告中約束可能用作型別引數的引數的型別。new運算子 1.用於建立物件和呼叫建構函式 例...

C 中new的幾種用法

1 new 運算子 用於建立物件和呼叫建構函式。2 new 修飾符 用於隱藏基類成員的繼承成員。3 new 約束 用於在泛型宣告中約束可能用作型別引數的引數的型別。new 運算子 1.用於建立物件和呼叫建構函式 例 class test myclass new class test 2.也用於為值型...

c 中new的用法

c 中,new的用法很靈活,這裡進行了簡單的總結 x5 t d s v v9 n w j 1.new 分配這種型別的乙個大小的記憶體空間,並以括號中的值來初始化這個變數 u t,v u 2.new 分配這種型別的n個大小的記憶體空間,並用預設建構函式來初始化這些變數 8 a6 r i 6 g m l...