偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

概述C# New運(yùn)算符

開發(fā) 后端
本文介紹C# New運(yùn)算符,包括用于創(chuàng)建對(duì)象和調(diào)用構(gòu)造函數(shù)、也用于為值類型調(diào)用默認(rèn)的構(gòu)造函數(shù)和如果C# New運(yùn)算符分配內(nèi)存失敗,則它將引發(fā) OutOfMemoryException 異常等。

前段時(shí)間一個(gè)朋友問到C#的New關(guān)鍵字有幾種用法,雖說在日常編程中經(jīng)常用到這個(gè)小家伙,但它到底有幾種用法還真沒有留意過,現(xiàn)將從網(wǎng)上總結(jié)出的資料記下以供同仁學(xué)習(xí)。
(1)C# New運(yùn)算符 用于創(chuàng)建對(duì)象和調(diào)用構(gòu)造函數(shù)。
(2)New 修飾符 用于隱藏基類成員的繼承成員。
(3)New 約束 用于在泛型聲明中約束可能用作類型參數(shù)的參數(shù)的類型。

C# New運(yùn)算符

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

例:Class_Test MyClass = New Class_Test();

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

例:int myInt = New int();

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

3.不能重載C# New運(yùn)算符。

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

New 修飾符

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

請(qǐng)看下面的類:

  1. public class MyClass  
  2. {  
  3. public int x;  
  4. public void Invoke() {}  

在派生類中用 Invoke 名稱聲明成員會(huì)隱藏基類中的 Invoke 方法,即:

  1. public class MyDerivedC : MyClass  
  2. {  
  3. new public void Invoke() {}  

但是,因?yàn)樽侄?x 不是通過類似名隱藏的,所以不會(huì)影響該字段。

通過繼承隱藏名稱采用下列形式之一:
1.引入類或結(jié)構(gòu)中的常數(shù)、指定、屬性或類型隱藏具有相同名稱的所有基類成員。
2.引入類或結(jié)構(gòu)中的方法隱藏基類中具有相同名稱的屬性、字段和類型。同時(shí)也隱藏具有相同簽名的所有基類方法。
3.引入類或結(jié)構(gòu)中的索引器將隱藏具有相同名稱的所有基類索引器。
4.在同一成員上同時(shí)使用 New 和 override 是錯(cuò)誤的。

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

示例

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

  1. using System;  
  2. public class MyBaseC{  
  3. public class MyClass{  
  4. public int x = 200;  
  5. public int y;  
  6. }  
  7. }  
  8. public class MyDerivedC : MyBaseC{  
  9. new public class MyClass // nested type hiding the base type members{  
  10. public int x = 100;  
  11. public int y;  
  12. public int z;  
  13. }  
  14. public static void Main(){  
  15. // Creating object from the overlapping class:  
  16. MyClass S1 = new MyClass();  
  17. // Creating object from the hidden class:  
  18. MyBaseC.MyClass S2 = new MyBaseC.MyClass();  
  19. Console.WriteLine(S1.x);  
  20. Console.WriteLine(S2.x);  
  21. }  

【編輯推薦】

  1. C#數(shù)據(jù)庫(kù)查詢和操作大全
  2. 淺析C#擴(kuò)展方法
  3. C# Singleton的使用及優(yōu)缺點(diǎn)探討
  4. 詳細(xì)分析C#數(shù)據(jù)庫(kù)連接池
  5. C#數(shù)據(jù)庫(kù)備份及還原的實(shí)現(xiàn)代碼
責(zé)任編輯:佚名 來源: cnblogs
相關(guān)推薦

2009-08-11 15:51:08

C#運(yùn)算符算術(shù)運(yùn)算符

2009-08-12 09:30:10

C#??運(yùn)算符

2009-08-12 15:20:18

C#賦值運(yùn)算符復(fù)合賦值運(yùn)算符

2009-08-12 15:02:49

C#賦值運(yùn)算符簡(jiǎn)單賦值運(yùn)算符

2009-08-12 14:49:33

C#移位運(yùn)算符

2009-09-01 10:08:57

C#運(yùn)算符

2009-08-12 13:35:22

C#關(guān)系運(yùn)算符

2009-08-12 14:29:32

C#條件運(yùn)算符

2009-08-12 10:47:03

C#運(yùn)算符重載

2009-08-12 14:23:09

C#邏輯運(yùn)算符

2009-08-12 10:56:47

C#運(yùn)算符重載C#運(yùn)算符重載實(shí)例

2009-09-04 13:18:10

C#允許運(yùn)算符重載

2009-08-14 10:16:57

C#運(yùn)算符重載

2009-08-12 10:27:12

C#運(yùn)算符重載運(yùn)算符重載實(shí)例

2009-08-12 10:07:51

C#運(yùn)算符

2009-08-12 13:07:13

C#運(yùn)算符優(yōu)先級(jí)

2009-08-11 16:03:13

C#運(yùn)算符

2009-08-12 12:46:11

C#運(yùn)算符重載

2025-02-07 00:12:34

C#編程as

2009-08-12 10:20:52

C#位運(yùn)算符
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)