C# 泛型理解之大白話
阿新 • • 發佈:2019-01-02
泛型:泛就是多,許多,很多的意思;型:就是型別,比如:int、float、double等等的資料型別;連線起來就是許多不同的資料型別,包括內建資料型別:就是系統自帶,定義好的;自定義型別:就是自己定義的,比如說自己定義的類型別;
為什麼要用泛型?
其實在專案研發中,經常會出現一個方法,多種不同型別的物件進行呼叫,簡單的做法就是為各自的型別寫上一個方法,獨立呼叫,比如:
//兩個整數相加 public int plus(int a, int b){ return a+b; } //兩個字串相連線 public string connectStr(string str1, string str2){ return str + str2 }
上面是兩個函式,一個是整數的相加,一個是字串的連線,當然,這是很簡單兩個函式;但是可以看出兩個函式的共同之處,都是相加,"+"對於字串來講是字串的連線,但是可以把這兩個函式寫成一個函式,如下:
public T plusTwoObj(T objT1, T objT2){
return objT1 + obT2;
}
這個函式中出現的T,其實就是一個佔位符,也就是這個位置由T來代替;類似於佔座,它起到的作用只是佔座,不會有實際的意義,最終這個位置是由其他人來坐的;比如:T給int佔座,給string佔座,給float佔座,給自定義型別佔座,實際的操作是由其它型別來處理的,其它型別會代替它;
這個函式是由兩個函式提出的公有函式,這樣,它就不侷限於某一個型別的函式進行相加處理,而是許多型別可通用的方法,所以,泛型有程式碼複用、提高研發效率的作用;
...更新中