今天看到乙個朋友問到c#的new關鍵字有幾種用法,現將從網上摘抄彙總資料到本站,以供大家查閱:
(1)new運算子:用於建立物件和呼叫建構函式。
(2)new修飾符:用於隱藏基類成員的繼承成員。
(3)new約束:用於在泛型宣告中約束可能用作型別引數的引數的型別。
new運算子
1.用於建立物件和呼叫建構函式
例:class_testmyclass=newclass_test();
2.也用於為值型別呼叫預設的建構函式
例:intmyint=newint();
myint初始化為0,它是int型別的預設值。該語句的效果等同於:intmyint=0;
3.不能過載new運算子。
4.如果new運算子分配記憶體失敗,則它將引發outofmemoryexception異常。
new修飾符
使用new修飾符顯式隱藏從基類繼承的成員。若要隱藏繼承的成員,請使用相同名稱在派生類中宣告該成員,並用new修飾符修飾它。
請看下面的類:
public class myclass }
在派生類中用invoke名稱宣告成員會隱藏基類中的invoke方法,即:
public class myderivedc:myclass }
但是,因為欄位x不是通過類似名隱藏的,所以不會影響該欄位。
通過繼承隱藏名稱採用下列形式之一:
1.引入類或結構中的常數、指定、屬性或型別隱藏具有相同名稱的所有基類成員。
2.引入類或結構中的方法隱藏基類中具有相同名稱的屬性、欄位和型別。同時也隱藏具有相同簽名的所有基類方法。
3.引入類或結構中的索引器將隱藏具有相同名稱的所有基類索引器。
4.在同一成員上同時使用new和override是錯誤的。
注意:在不隱藏繼承成員的宣告中使用new修飾符將生成警告。
示例:在該例中,巢狀類myclass隱藏了基類中具有相同名稱的類。該例不僅說明了如何使用完全限定名訪問隱藏類成員,同時也說明了如何使用new修飾符消除警告訊息。
using system;
public class mybasec
}public class myderivedc:mybasec
public static void main()
}
輸出:100
200
本文**於:
C 中new的幾種用法
1 new 運算子 用於建立物件和呼叫建構函式。2 new 修飾符 用於隱藏基類成員的繼承成員。3 new 約束 用於在泛型宣告中約束可能用作型別引數的引數的型別。new 運算子 1.用於建立物件和呼叫建構函式 例 class test myclass new class test 2.也用於為值型...
C 中new的幾種用法詳解
在 c 中,new 關鍵字可用作運算子 修飾符或約束。new 運算子 用於建立物件和呼叫建構函式。new 修飾符 用於向基類成員隱藏繼承成員。new 約束 用於在泛型宣告中約束可能用作型別引數的引數的型別。new 修飾符 c 參考 在用作修飾符時,new 關鍵字可以顯式隱藏從基類繼承的成員。隱藏繼承...
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...