最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#學習基礎(chǔ)概念二十五問續(xù)2第2/2頁

 更新時間:2007年04月09日 00:00:00   作者:  

9.new 修飾符是起什么作用?
答:
new 修飾符與 new 操作符是兩個概念
new 修飾符用于聲明類或類的成員,表示隱藏了基類中同名的成員。而new 操作符用于實例化一個類型
new 修飾符只能用于繼承類,一般用于彌補基類設(shè)計的不足
new 修飾符和 override 修飾符不可同時用在一個成員上,因為這兩個修飾符在含義上互相排斥
示例:
using System;
using System.Collections.Generic;
using System.Text;
namespace Example09
{
    class BaseClass
    {
        //基類設(shè)計者聲明了一個PI的公共變量,方便進行運算
        public static double PI = 3.1415;
    }
    class DervieClass : BaseClass
    {
        //繼承類發(fā)現(xiàn)該變量的值不能滿足運算精度,于是可以通過new修飾符顯式隱藏基類中的聲明
        public new static double PI = 3.1415926;
    }
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(BaseClass.PI);
            Console.WriteLine(DervieClass.PI);
            Console.ReadLine();
        }
    }
}
結(jié)果:
3.1415
3.1415926 

10.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)成員的實現(xiàn)里,因為這時對象或結(jié)構(gòu)并未實例化
在 C# 系統(tǒng)中,this 實際上是一個常量,所以不能使用 this++ 這樣的運算
this 保留字一般用于限定同名的隱藏成員、將對象本身做為參數(shù)、聲明索引訪問器、判斷傳入?yún)?shù)的對象是否為本身
示例:
using System;
using System.Collections.Generic;
using System.Text;
namespace Example10
{
    class Class1
    {
        private double c;
        private string value;
        public double C
        {
            get
            {
                return c;
            }
        }
        public Class1(double c)
        {
            //限定同名的隱藏成員
            this.c = c;
        }
        public Class1(Class1 value)
        {
            //用對象本身實例化自己沒有意義
            if (this != value)
            {
                c = value.C;
            }
        }
        public override string ToString()
        {
            //將對象本身做為參數(shù)
            return string.Format("{0} Celsius = {1} Fahrenheit", c, UnitTransClass.C2F(this));
        }
        //由于好奇,在這做了一個效率測試,想看看到底哪種方式訪問成員變量更快,結(jié)論:區(qū)別不大。。。
        public string Test1()
        {
            long vTickCount = Environment.TickCount;
            for (int i = 0; i < 10000000; i++)
                this.value = i.ToString();
            return string.Format("Have this.: {0} MSEL", Environment.TickCount - vTickCount);
        }
        public string Test2()
        {
            long vTickCount = Environment.TickCount;
            for (int i = 0; i < 10000000; i++)
                value = i.ToString();
            return string.Format("Don't have this.: {0} MSEL", Environment.TickCount - vTickCount);
        }
    }
    class UnitTransClass
    {
        public static double C2F(Class1 value)
        {
            //攝氏到華氏的轉(zhuǎn)換公式
            return 1.8 * value.C + 32;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Class1 tmpObj = new Class1(37.5);
            Console.WriteLine(tmpObj);
            Console.WriteLine(tmpObj.Test1());
            Console.WriteLine(tmpObj.Test2());
            Console.ReadLine();
        }
    }
}
結(jié)果:
37.5 Celsius = 99.5 Fahrenheit
Have this.: 4375 MSEL
Don't have this.: 4406 MSEL 

相關(guān)文章

  • 解析c#操作excel后關(guān)閉excel.exe的方法

    解析c#操作excel后關(guān)閉excel.exe的方法

    C#和Asp.net下excel進程一被打開,有時就無法關(guān)閉,尤其是website.對關(guān)閉該進程有過GC、release等方法,但這些方法并不是在所有情況下均適用
    2013-07-07
  • C#配置文件操作類分享

    C#配置文件操作類分享

    這篇文章主要分享了C#配置文件操作類,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • 區(qū)分C# 中的 Struct 和 Class

    區(qū)分C# 中的 Struct 和 Class

    這篇文章主要介紹了如何區(qū)分C# 中的 Struct 和 Class,幫助大家更好的理解和學習c#編程,感興趣的朋友可以了解下
    2020-09-09
  • C#中Thread(線程)和Task(任務(wù))實例詳解

    C#中Thread(線程)和Task(任務(wù))實例詳解

    .NET Framework在System.Threading命名空間中具有與線程相關(guān)的類,線程是一小組可執(zhí)行指令,這篇文章主要給大家介紹了關(guān)于C#中Thread(線程)和Task(任務(wù))的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • VS2019下安裝和破解?DevExpress?19.2?插件的詳細教程

    VS2019下安裝和破解?DevExpress?19.2?插件的詳細教程

    這篇文章主要介紹了VS2019?安裝并破解?DevExpress?19.2?插件的詳細教程,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • C#獲取USB事件API實例分析

    C#獲取USB事件API實例分析

    這篇文章主要介紹了C#獲取USB事件API,實例分析了C#操作USB事件的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-05-05
  • 如何用C#在PC上查找連接藍牙設(shè)備并實現(xiàn)數(shù)據(jù)傳輸

    如何用C#在PC上查找連接藍牙設(shè)備并實現(xiàn)數(shù)據(jù)傳輸

    這篇文章主要介紹了如何用C#在PC上查找連接藍牙設(shè)備并實現(xiàn)數(shù)據(jù)傳輸,幫助大家更好的理解和學習使用c#,感興趣的朋友可以了解下
    2021-03-03
  • c#如何實現(xiàn)接口事件

    c#如何實現(xiàn)接口事件

    這篇文章主要介紹了c#如何實現(xiàn)接口事件,幫助大家更好的理解和學習c#,感興趣的朋友可以了解下
    2020-10-10
  • C#線程處理系列之線程池中的I/O線程

    C#線程處理系列之線程池中的I/O線程

    這篇文章主要介紹了C#線程處理系列之線程池中的I/O線程,在這篇文章中將介紹如何用線程池中的I/O線程來執(zhí)行I/O操作,感興趣的小伙伴們可以參考一下
    2016-04-04
  • C#中使用DataContractSerializer類實現(xiàn)深拷貝操作示例

    C#中使用DataContractSerializer類實現(xiàn)深拷貝操作示例

    這篇文章主要介紹了C#中使用DataContractSerializer類實現(xiàn)深拷貝操作示例,本文給出了實現(xiàn)深拷貝方法、測試深拷貝方法例子、DataContractSerializer類實現(xiàn)深拷貝的原理等內(nèi)容,需要的朋友可以參考下
    2015-06-06

最新評論

合阳县| 台前县| 邵阳县| 慈利县| 齐齐哈尔市| 黄龙县| 河南省| 万山特区| 福安市| 渭源县| 望奎县| 庆城县| 永和县| 儋州市| 奎屯市| 南陵县| 赤水市| 库车县| 永安市| 获嘉县| 屏山县| 乌鲁木齐县| 景东| 无锡市| 济宁市| 灵川县| 高邑县| 汶川县| 昭觉县| 仪陇县| 吴川市| 湖南省| 山东省| 洛阳市| 涡阳县| 饶河县| 龙井市| 平定县| 香河县| 加查县| 咸宁市|