[C#]泛型(Generics)
泛型的意思是「暫時替代型別的置換符號」,讓程式設計師暫時不需要決定型別,就可以完成類別或方法的設計。比如成績的這個類別,有可能是等第A、B、C,也有可能是分數,在宣告成績這個類別時給他一個符號T,不直接給定這是string還是int的資料型別。
簡單的程式範例如下:
public class Grade<T>
{
private T grade;
public T getGrade()
{
return grade;
}
public void setGrade(T data)
{
grade = data;
}
}
class Program
{
static void Main(string[] args)
{
Grade<string> grade = new Grade<string>();
grade.setGrade("A");
Grade<int> score = new Grade<int>();
score.setGrade(95);
Console.WriteLine(grade.getGrade());
Console.WriteLine(score.getGrade());
}
}
在上面的程式範例中Grade<T>這個類別我們一開始不明確定義資料型別,後面在做實例化時才明確定義這是string的資料型態,這是int的資料型態,這就是泛型的最基本概念。使用泛型有它的好處,更多有關泛型的觀念我之後會再跟大家介紹。