1. 程式人生 > >C# 泛型類

C# 泛型類

運算 ... ogr system ons col fault 泛型類 pri

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            var dogCage = new Cage<Dog>(1);
            // 放進去
            dogCage.Putin(new
Dog("jack")); dogCage.Putin(new Dog("job")); // 取出來 var dog2= dogCage.Takeout(); dog2.ShowName(); } } public class Dog { private string Name; private int age = 0; public Dog(string dname) { Name
= dname; } public void ShowName() { Console.WriteLine("這是一條狗:{0}", Name); } public void ShowAge() { Console.WriteLine("寵物的年齡為" + age); } // 使用重載運算符 public static Dog operator ++(Dog dog) { dog.age
++; // 年齡自增 return dog; } } // 泛型類的使用,定義籠子 public class Cage<T> { T[] array; // 定義一個數組 readonly int Size; // 定義一個籠子大小 int num; // 定義現有的數量 public Cage(int n) { // 構造函數 Size = n; num = 0; array = new T[Size]; // 設置數組(籠子)的大小 } // 將寵物放到籠子裏 public void Putin(T pet) { // 如果還沒有滿,將寵物放到籠子裏 if (Size > num) array[num++] = pet; else Console.WriteLine("寵物已經裝滿了..."); } // 將寵物取出來 public T Takeout() { // 如果有寵物,那麽取出來 if (num > 0) return array[--num]; else { // 如果沒有寵物了,那麽返回空 Console.WriteLine("籠子空了!!!"); return default(T); } } } }

C# 泛型類