亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C#中new的幾種用法詳解

 更新時(shí)間:2017年02月28日 11:24:33   作者:李斌1  
本文主要介紹了C#中new的幾種用法,具有很好的參考價(jià)值,下面跟著小編一起來看下吧

在 C# 中,new 關(guān)鍵字可用作運(yùn)算符、修飾符或約束。

new 運(yùn)算符

用于創(chuàng)建對(duì)象和調(diào)用構(gòu)造函數(shù)。

new 修飾符

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

new 約束

用于在泛型聲明中約束可能用作類型參數(shù)的參數(shù)的類型。

new 修飾符(C# 參考)

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

若要隱藏繼承的成員,請(qǐng)使用相同名稱在派生類中聲明該成員,并使用 new 修飾符修飾該成員

new 運(yùn)算符(C# 參考)

1.用于創(chuàng)建對(duì)象和調(diào)用構(gòu)造函數(shù)。例如:

Class1 o = new Class1();

2.也用于為值類型調(diào)用默認(rèn)的構(gòu)造函數(shù)

 例:int myInt = new int();

 myInt 初始化為 0,它是 int 類型的默認(rèn)值。該語句的效果等同于:int myInt = 0;

3.不能重載 new 運(yùn)算符。

4.如果 new 運(yùn)算符分配內(nèi)存失敗,則它將引發(fā) OutOfMemoryException 異常

new 約束(C# 參考)

new 約束指定泛型類聲明中的任何類型參數(shù)都必須有公共的無參數(shù)構(gòu)造函數(shù)。當(dāng)泛型類創(chuàng)建類型的新實(shí)例時(shí),將此約束應(yīng)用于類型參數(shù),如下面的示例所示:

class ItemFactory<T> where T : new() 
{ 
public T GetNewItem() 
{ 
return new T(); 
} 
}

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

  1.引入類或結(jié)構(gòu)中的常數(shù)、指定、屬性或類型隱藏具有相同名稱的所有基類成員。

  2.引入類或結(jié)構(gòu)中的方法隱藏基類中具有相同名稱的屬性、字段和類型。同時(shí)也隱藏具有相同簽名的所有基類方法。

  3.引入類或結(jié)構(gòu)中的索引器將隱藏具有相同名稱的所有基類索引器。

  4.在同一成員上同時(shí)使用 new 和 override 是錯(cuò)誤的。

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

 示例

  在該例中,嵌套類 MyClass 隱藏了基類中具有相同名稱的類。該例不僅說明了如何使用完全限定名訪問隱藏類成員,同時(shí)也說明了如何使用 new 修飾符消除警告消息。

   using System; 
   public class MyBaseC 
   { 
   public class MyClass 
   { 
   public int x = 200; 
   public int y; 
   } 
   } 
   public class MyDerivedC : MyBaseC 
   { 
   new public class MyClass // nested type hiding the base type members 
   { 
   public int x = 100; 
   public int y; 
   public int z; 
   } 
   public static void Main() 
  { 
   // Creating object from the overlapping class: 
   MyClass S1 = new MyClass(); 
   // Creating object from the hidden class: 
  MyBaseC.MyClass S2 = new MyBaseC.MyClass(); 
   Console.WriteLine(S1.x); 
   Console.WriteLine(S2.x); 
   } 
   } 

  輸出
  100
  200

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

  • C#同步網(wǎng)絡(luò)時(shí)間的方法實(shí)例詳解

    C#同步網(wǎng)絡(luò)時(shí)間的方法實(shí)例詳解

    這篇文章主要介紹了C#同步網(wǎng)絡(luò)時(shí)間的方法,以實(shí)例形式較為詳細(xì)的分析了C#獲取網(wǎng)絡(luò)時(shí)間與同步本機(jī)系統(tǒng)時(shí)間的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-05-05
  • C#利用GDI繪制常見圖形和文字

    C#利用GDI繪制常見圖形和文字

    本文主要介紹了C#中利用GDI來繪制圖形和文字的方法,并提供的簡(jiǎn)單的示例供大家參考學(xué)習(xí),希望能夠?qū)Υ蠹矣兴鶐椭?/div> 2016-03-03
  • C#實(shí)現(xiàn)BBcode轉(zhuǎn)為Markdown的方法

    C#實(shí)現(xiàn)BBcode轉(zhuǎn)為Markdown的方法

    這篇文章主要給大家介紹了關(guān)于C#實(shí)現(xiàn)BBcode轉(zhuǎn)Markdown的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-02-02
  • 使用設(shè)計(jì)模式中的工廠方法模式進(jìn)行C#編程的示例講解

    使用設(shè)計(jì)模式中的工廠方法模式進(jìn)行C#編程的示例講解

    這篇文章主要介紹了使用設(shè)計(jì)模式中的工廠方法模式進(jìn)行C#編程的示例講解,工廠方法模式可以看作是對(duì)簡(jiǎn)單工廠模式的進(jìn)一步擴(kuò)展,需要的朋友可以參考下
    2016-02-02
  • c# EnumHelper枚舉常用操作類

    c# EnumHelper枚舉常用操作類

    在項(xiàng)目中需要把枚舉填充到下拉框中,所以使用統(tǒng)一的方法實(shí)現(xiàn),測(cè)試代碼如下,需要的朋友可以參考下
    2016-11-11
  • Visual Studio關(guān)于C#項(xiàng)目Dll的引用多種方式(圖文詳解)

    Visual Studio關(guān)于C#項(xiàng)目Dll的引用多種方式(圖文詳解)

    本文通過圖文并茂的形式給大家展示Visual Studio關(guān)于C#項(xiàng)目Dll的引用幾種方式 ,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • c#關(guān)于非托管內(nèi)存的釋放問題及解讀

    c#關(guān)于非托管內(nèi)存的釋放問題及解讀

    這篇文章主要介紹了c#關(guān)于非托管內(nèi)存的釋放問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • winform實(shí)現(xiàn)拖動(dòng)文件到窗體上的方法

    winform實(shí)現(xiàn)拖動(dòng)文件到窗體上的方法

    這篇文章主要介紹了winform實(shí)現(xiàn)拖動(dòng)文件到窗體上的方法,以實(shí)例分析了C#中WinForm操作窗體及文件的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-09-09
  • C#/.net程序調(diào)用Python的教程分享

    C#/.net程序調(diào)用Python的教程分享

    C#的優(yōu)勢(shì)在于window下的開發(fā),不僅功能強(qiáng)大而且開發(fā)周期短。而python則有眾多的第三方庫(kù),可以避免自己造輪子,利用C#來做界面,而具體實(shí)現(xiàn)使用python來實(shí)現(xiàn)可以大大提高開發(fā)效率。本文介紹如何使用pythonnet來執(zhí)行python腳本,希望對(duì)大家有所幫助
    2023-03-03
  • C# 中閉包(Closure)詳解

    C# 中閉包(Closure)詳解

    這篇文章主要介紹了C# 中閉包(Closure)詳解的相關(guān)資料,需要的朋友可以參考下
    2017-06-06

最新評(píng)論