自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳細(xì)介紹C#基礎(chǔ)知識

開發(fā) 后端
本文介紹C#基礎(chǔ)知識,包括new 修飾符是起什么作用、this 關(guān)鍵字的含義和使用抽象函數(shù)重寫基類中的虛函數(shù)。

C#基礎(chǔ)知識之new 修飾符是起什么作用?

new 修飾符與 new 操作符是兩個概念,new 修飾符用于聲明類或類的成員,表示隱藏了基類中同名的成員。而new 操作符用于實(shí)例化一個類型,new 修飾符只能用于繼承類,一般用于彌補(bǔ)基類設(shè)計(jì)的不足,new 修飾符和 override 修飾符不可同時用在一個成員上,因?yàn)檫@兩個修飾符在含義上互相排斥

示例:

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Text;  
  4.  
  5. namespace Example09 {   
  6. class BaseClass {   
  7. //基類設(shè)計(jì)者聲明了一個PI的公共變量,方便進(jìn)行運(yùn)算public static double PI = 3.1415;  
  8. }   
  9. class DervieClass : BaseClass {   
  10. //繼承類發(fā)現(xiàn)該變量的值不能滿足運(yùn)算精度,于是可以通過new修飾符顯示隱藏基類中的聲明  
  11. public new static double PI = 3.1415926;  
  12. }   
  13. class Program {   
  14. static void Main(string[] args){   
  15. Console.WriteLine(BaseClass.PI);  
  16. Console.WriteLine(DervieClass.PI);  
  17.  
  18. Console.ReadLine();  

C#基礎(chǔ)知識之this 關(guān)鍵字的含義?

this 是一個保留字,僅限于構(gòu)造函數(shù)和方法成員中使用,在類的構(gòu)造函數(shù)中出現(xiàn)表示對正在構(gòu)造的對象本身的引用,在類的方法中出現(xiàn)表示對調(diào)用該方法的對象的引用,在結(jié)構(gòu)的構(gòu)造上函數(shù)中出現(xiàn)表示對正在構(gòu)造的結(jié)構(gòu)的引用,在結(jié)構(gòu)的方法中出現(xiàn)表示對調(diào)用該方法的結(jié)果的引用,this 保留字不能用于靜態(tài)成員的實(shí)現(xiàn)里,因?yàn)檫@時對象或結(jié)構(gòu)并未實(shí)例化,在 C# 系統(tǒng)中,this 實(shí)際上是一個常量,所以不能使用 this++ 這樣的運(yùn)算,this 保留字一般用于限定同名的隱藏成員、將對象本身做為參數(shù)、聲明索引訪問器、判斷傳入?yún)?shù)的對象是否為本身

示例:

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Text;  
  4.  
  5. namespace Example10 {   
  6. class Class1 {   
  7. private double c;  
  8. private string value;  
  9.  
  10. public double C {   
  11. get {   
  12. return c;  
  13. }   
  14. public Class1(double c){   
  15. //限定同名的隱藏成員this.c = c;  
  16. }   
  17. public Class1(Class1 value){   
  18. //用對象本身實(shí)例化自己沒有意義  
  19. if (this != value){   
  20. c = value.C;  
  21. }   
  22. public override string ToString(){   
  23. //將對象本身做為參數(shù)return string.Format
    ("{0} 
    Celsius = {1} Fahrenheit", c, UnitTransClass.C2F(this));  
  24. }  
  25. //由于好奇,在這做了一個效率測試,想看看到底哪種方式訪問成員變量更快,結(jié)論:區(qū)別不大……  
  26. public string Test1(){   
  27. long vTickCount = Environment.TickCount;for (int i = 0; i < 10000000; i++)  
  28.  
  29. this.value = i.ToString();  
  30. return string.Format
    ("Have this.: {0} MSEL", Environment.TickCount - vTickCount);  
  31. }   
  32. public string Test2(){   
  33. long vTickCount = Environment.TickCount;  
  34. for (int i = 0; i < 10000000; i++)  
  35.  
  36. value = i.ToString();  
  37. return string.Format("Don't have this.: {0} MSEL", 
    Environment.TickCount - vTickCount);  
  38. }   
  39. class UnitTransClass {   
  40. public static double C2F(Class1 value){   
  41. //攝氏到華氏的轉(zhuǎn)換公式return 1.8 * value.C + 32;  
  42. }   
  43. class Program {   
  44. static void Main(string[] args){   
  45. Class1 tmpObj = new Class1(37.5);  
  46. Console.WriteLine(tmpObj);  
  47. Console.WriteLine(tmpObj.Test1());  
  48. Console.WriteLine(tmpObj.Test2());  
  49. Console.ReadLine();  

C#基礎(chǔ)知識之可以使用抽象函數(shù)重寫基類中的虛函數(shù)嗎?

可以,但需使用 new 修飾符顯式聲明,表示隱藏了基類中該函數(shù)的實(shí)現(xiàn)

示例:

  1. class BaseClass {   
  2. public virtual void F(){   
  3. Console.WriteLine("BaseClass.F");  
  4. }   
  5. abstract class  DeriveClass : BaseClass {   
  6. public new abstract void F();  

【編輯推薦】

  1. C#結(jié)構(gòu)體的特點(diǎn)淺析
  2. 介紹C#窗體拖動事件
  3. C#讀取Excel遇到無法讀取的解決方法
  4. 概述C#.NET操作XML
  5. C#基礎(chǔ)概念學(xué)習(xí)筆記
責(zé)任編輯:佚名 來源: 百度空間
相關(guān)推薦

2009-08-11 15:17:12

C#基礎(chǔ)知識

2009-08-27 16:37:06

C#基礎(chǔ)知識

2009-08-13 12:50:45

C#基礎(chǔ)知識

2009-08-13 16:13:03

C#基礎(chǔ)知識

2009-12-21 13:03:06

向量路由協(xié)議

2009-08-03 13:55:03

C#基礎(chǔ)知識

2009-08-24 17:07:09

C# 泛型

2009-08-21 17:19:36

C#網(wǎng)絡(luò)編程入門

2009-08-19 17:13:15

C# 操作符基礎(chǔ)知識

2009-12-14 16:56:51

路由器協(xié)議

2009-12-15 09:03:13

OSPF路由協(xié)議

2009-08-12 15:34:40

C# DBNull

2009-08-10 16:30:56

C# BitmapDa

2011-11-04 17:26:12

2009-11-05 09:51:14

WCF基礎(chǔ)

2015-07-17 16:49:13

OpenStack開源云平臺云計(jì)算

2009-08-13 13:38:30

C#命名規(guī)范

2009-08-14 17:04:50

C#類型系統(tǒng)

2009-08-21 15:16:23

C#使用指針

2009-08-26 17:31:59

C# const常量
點(diǎn)贊
收藏

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