泛型什么意思 什么是泛型?他有什么優(yōu)點(diǎn)?
什么是泛型?他有什么優(yōu)點(diǎn)?泛型是通過參數(shù)化類型在同一代碼上操作多個(gè)數(shù)據(jù)類型。泛型是在C#2.0中引入的。泛型的字面含義是它可以對多種數(shù)據(jù)類型進(jìn)行操作,這類似于模板。泛型引入了類型參數(shù)化的概念,其目的是
什么是泛型?他有什么優(yōu)點(diǎn)?
泛型
是通過參數(shù)化類型在同一代碼上操作多個(gè)數(shù)據(jù)類型。泛型是在C#2.0中引入的。泛型的字面含義是它可以對多種數(shù)據(jù)類型進(jìn)行操作,這類似于模板。泛型引入了類型參數(shù)化的概念,其目的是實(shí)現(xiàn)已定義的泛型類和方法,并推遲一個(gè)或多個(gè)類型的規(guī)范,直到客戶機(jī)代碼聲明并實(shí)例化該類或方法。您可以編寫其他客戶機(jī)代碼可以使用的單個(gè)類,而無需引入運(yùn)行時(shí)強(qiáng)制轉(zhuǎn)換或裝箱操作的成本或風(fēng)險(xiǎn)。要使用這些強(qiáng)大的數(shù)據(jù)結(jié)構(gòu),只需提供數(shù)據(jù)類型。
C#泛型的幾個(gè)特征:
](1)如果實(shí)例化泛型類型的參數(shù)相同,JIT編譯器將重用該類型。
(2)C#的通用類型可應(yīng)用于強(qiáng)大的反射技術(shù)。
(3)C#具有高性能。我們知道ArrayList在添加元素時(shí)是對象類型。如果添加值類型,則需要將其轉(zhuǎn)換為引用類型。取出此元素時(shí),需要將其轉(zhuǎn)換為值類型。這需要裝箱和解包操作,而且性能很低。泛型不需要類型轉(zhuǎn)換。
(4)C#除了分別聲明泛型類型(包括類和結(jié)構(gòu))外,它還可以在基類中包含泛型類型的聲明。但是,如果基類是泛型類,則其類型參數(shù)要么實(shí)例化,要么從子類(也是泛型類型)聲明的類型參數(shù)派生。
什么是泛型?他有什么優(yōu)點(diǎn)?
泛型。也就是說,通過參數(shù)化類型,可以在同一代碼上操作多個(gè)數(shù)據(jù)類型。泛型是在C#2.0中引入的。泛型的字面含義是它可以對多種數(shù)據(jù)類型進(jìn)行操作,這類似于模板。優(yōu)點(diǎn):泛型類和泛型方法具有非泛型類和非泛型方法所不具備的可重用性、類型安全性和效率。泛型通常與集合和作用于它們的方法一起使用。泛型是C#2.0的一個(gè)新特性,它提高了使用C#語言編寫面向?qū)ο蟪绦虻男屎挽`活性。它不強(qiáng)制值類型的裝箱和拆箱,也不強(qiáng)制引用類型的類型轉(zhuǎn)換,因此性能得到了提高。泛型的作用是提高代碼的可重用性。你一定知道函數(shù)重載,但是寫這么多重復(fù)的代碼太麻煩了。泛型是為了避免強(qiáng)制類型轉(zhuǎn)換,減少裝箱和解包,提高性能和減少錯(cuò)誤