日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
詳細(xì)介紹C#基礎(chǔ)知識(shí)

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

成都創(chuàng)新互聯(lián)主營(yíng)平陽(yáng)網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶App定制開發(fā),平陽(yáng)h5小程序制作搭建,平陽(yáng)網(wǎng)站營(yíng)銷推廣歡迎平陽(yáng)等地區(qū)企業(yè)咨詢

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

示例:

 
 
 
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Text;  
  4.  
  5. namespace Example09 {   
  6. class BaseClass {   
  7. //基類設(shè)計(jì)者聲明了一個(gè)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ǔ)知識(shí)之this 關(guān)鍵字的含義?

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

示例:

 
 
 
  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. //用對(duì)象本身實(shí)例化自己沒有意義  
  19. if (this != value){   
  20. c = value.C;  
  21. }   
  22. public override string ToString(){   
  23. //將對(duì)象本身做為參數(shù)return string.Format
    ("{0} Celsius = {1} Fahrenheit", c, UnitTransClass.C2F(this));  
  24. }  
  25. //由于好奇,在這做了一個(gè)效率測(cè)試,想看看到底哪種方式訪問成員變量更快,結(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ù)重寫基類中的虛函數(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#窗體拖動(dòng)事件
  3. C#讀取Excel遇到無法讀取的解決方法
  4. 概述C#.NET操作XML
  5. C#基礎(chǔ)概念學(xué)習(xí)筆記

網(wǎng)站欄目:詳細(xì)介紹C#基礎(chǔ)知識(shí)
路徑分享:http://www.dlmjj.cn/article/dpchdcp.html