欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#泛型的使用案例

 更新時間:2022年10月22日 14:26:35   作者:Darren Ji  
這篇文章介紹了C#泛型的使用案例,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

有這樣一個有關(guān)汽車的類。

    public class Car
    {
        public int ID { get; set; }
        public string Make { get; set; }
    }

現(xiàn)在,在客戶端創(chuàng)建一個Car的集合實例,再遍歷。

        static void Main(string[] args)
        {
            var car1 = new Car() {ID = 1, Make = "Ford"};
            var car2 = new Car() {ID = 2, Make = "Toyota"};
            var cars = new List<Car>(){car1,car2};
            foreach (var car in cars)
            {
                Console.WriteLine(car.Make);
            }
            Console.Read();
        }

現(xiàn)在,要為Car增加發(fā)動機。

不同的車系車型可能用不同的發(fā)動機。這些發(fā)動機應(yīng)該有一個基類吧。

    public class MotorBase
    {
        public int HorsePower { get; set; }
        public string Name { get; set; }
    }

比如,有2種型號的發(fā)動機,分別繼承基類MotorBase。

    public class V8 : MotorBase
    {
        public V8(string name)
        {
            HorsePower = 300;
            Name = name;
        }
    }
    public class V9 : MotorBase
    {
        public V9(string name)
        {
            HorsePower = 350;
            Name = name;
        }
    }

Car有可能用到V8發(fā)動機,也有可能V9發(fā)動機,這正是泛型登場的時候。

把Car修改成泛型類。

    public class Car<T>
    {
        public int ID { get; set; }
        public string Make { get; set; }
        public T Motor { get; set; }
    }

這樣,在創(chuàng)建Car<T>實例的時候,可以相對自如地選擇V8或V9發(fā)動機。

        static void Main(string[] args)
        {
            var v8Car1 = new Car<V8>() {ID = 1, Make = "Ford",Motor = new V8("v8發(fā)動機")};
            var v8Car2 = new Car<V8>() { ID = 2, Make = "Toyota", Motor = new V8("v8發(fā)動機") };
            var v8Cars = new List<Car<V8>>
            {
                v8Car1, v8Car2
            };
            foreach (var car in v8Cars)
            {
                Console.WriteLine("品牌:{0},發(fā)動機:{1}",car.Make, car.Motor.Name);
            }
            Console.Read();
        }

由此,當(dāng)針對不同的類型有相同行為的時候,正是泛型登場的時候。

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

相關(guān)文章

  • C# WinForm自動更新程序之文件上傳操作詳解

    C# WinForm自動更新程序之文件上傳操作詳解

    這篇文章主要為大家詳細介紹了C# WinForm自動更新程序中文件上傳操作,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以了解一下
    2022-10-10
  • c#生成驗證碼程序

    c#生成驗證碼程序

    這篇文章主要介紹了使用c#生成驗證碼的示例,大家參考使用吧
    2014-01-01
  • C#調(diào)用C++dll方法步驟

    C#調(diào)用C++dll方法步驟

    在本篇文章中小編給讀者們整理了關(guān)于C#調(diào)用C++dll方法和步驟,需要的朋友們跟著操作下。
    2019-02-02
  • C# 異步返回類型的幾種方式

    C# 異步返回類型的幾種方式

    異步編程已經(jīng)成為一種重要的編程范式,本文主要介紹了C#異步返回類型的幾種方式,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-03-03
  • WPF實現(xiàn)背景燈光隨鼠標(biāo)閃動效果

    WPF實現(xiàn)背景燈光隨鼠標(biāo)閃動效果

    這篇文章主要為大家詳細介紹了WPF實現(xiàn)背景燈光隨鼠標(biāo)閃動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-08-08
  • C# Winform 實現(xiàn)屏蔽鍵盤的win和alt+F4的實現(xiàn)代碼

    C# Winform 實現(xiàn)屏蔽鍵盤的win和alt+F4的實現(xiàn)代碼

    最近在做一個惡搞程序,就是打開后,程序獲得桌面的截圖然后,然后全屏顯示在屏幕上,用戶此時則不能進行任何操作。
    2009-02-02
  • c# 實現(xiàn)網(wǎng)頁加載后將頁面截取為長圖片

    c# 實現(xiàn)網(wǎng)頁加載后將頁面截取為長圖片

    這篇文章主要介紹了c# 實現(xiàn)網(wǎng)頁加載后將頁面截取為長圖片的方法,幫助大家更好的理解和學(xué)習(xí)c#,感興趣的朋友可以了解下
    2021-01-01
  • C#利用QrCode.Net生成二維碼(Qr碼)的方法

    C#利用QrCode.Net生成二維碼(Qr碼)的方法

    QrCode.Net是一個使用C#編寫的用于生成二維碼圖片的類庫,使用它可以非常方便的為WinForm、WebForm、WPF、Silverlight和Windows Phone 7應(yīng)用程序提供二維碼編碼輸出功能??梢詫⒍S碼文件導(dǎo)出為eps格式
    2016-12-12
  • C#通過HttpWebRequest發(fā)送帶有JSON Body的POST請求實現(xiàn)

    C#通過HttpWebRequest發(fā)送帶有JSON Body的POST請求實現(xiàn)

    本文主要介紹了C#通過HttpWebRequest發(fā)送帶有JSON Body的POST請求實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • C# TabControl手動觸發(fā)DrawItem的實現(xiàn)

    C# TabControl手動觸發(fā)DrawItem的實現(xiàn)

    本文主要介紹了C# TabControl手動觸發(fā)DrawItem的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02

最新評論