C#入門之索引器使用實(shí)例
本文實(shí)例展示了C#索引器的使用方法,對于C#的初學(xué)者來說是很有必要熟練掌握的,具體用法如下:
首先,索引器(Indexer)是C#引入的一個(gè)新型的類成員,它使得類中的對象可以像數(shù)組那樣方便、直觀的被引用。索引器非常類似于屬性,但索引器可以有參數(shù)列表,且只能作用在實(shí)例對象上,而不能在類上直接作用。定義了索引器的類可以讓您像訪問數(shù)組一樣的使用 [ ] 運(yùn)算符訪問類的成員。(當(dāng)然高級的應(yīng)用還有很多,比如說可以把數(shù)組通過索引器映射出去等等)
索引器的語法如下:
1、它可以接受1個(gè)或多個(gè)參數(shù)
2、使用this為索引器的名字
3、參數(shù)化成員屬性:包含set、get方法。
格式如下:
[訪問修飾符] 數(shù)據(jù)類型 this[數(shù)據(jù)類型 標(biāo)識符]
{
get{};
set{};
}
實(shí)例代碼如下:
public class Indexsy { private string[] array ; public Indexsy(int num) { array = new string[num]; for (int i = 0; i < num; i++) { array[i] = "Array"+i; } } public string this[int num] { get { return array[num]; } set { array[num] = value; } } } ///索引器調(diào)用 Indexsy sy = new Indexsy(10); Response.Write(sy[5]);//輸出Array5
多參數(shù)的實(shí)例如下:
public class Indexsy { private string[] array ; public Indexsy(int num) { array = new string[num]; for (int i = 0; i < num; i++) { array[i] = "Array"+i; } } public string this[int num, string con] { get { if (num == 6) { return con; } else { return array[num]; } } set { if (num == 6) { array[num] = con; } else { array[num] = value; } } } } //方法調(diào)用 Indexsy sy = new Indexsy(10); sy[5,"10"] = "更換set值"; Response.Write(sy[5,""]+" "+sy[6,"更換內(nèi)部參數(shù)"]+" "+sy[8,""]);//輸出為更換set值 更換內(nèi)部參數(shù) Array8,
感興趣的讀者可以動(dòng)手調(diào)試上述代碼,可以加深對C#索引器的使用方法的認(rèn)識,進(jìn)一步鞏固基礎(chǔ)知識。
相關(guān)文章
C# Socket網(wǎng)絡(luò)編程實(shí)例
這篇文章主要介紹了C# Socket網(wǎng)絡(luò)編程實(shí)例,分析了Socket網(wǎng)絡(luò)通信的原理與具體應(yīng)用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-01-01C#影院售票系統(tǒng)畢業(yè)設(shè)計(jì)(1)
這篇文章主要介紹了C#影院售票系統(tǒng)畢業(yè)設(shè)計(jì),獻(xiàn)上了9個(gè)類的設(shè)計(jì),需要的朋友可以參考下2015-11-11C# 刪除數(shù)組內(nèi)的某個(gè)值、一組值方法詳解
在本篇文章里小編給大家整理的是關(guān)于C# 如何刪除數(shù)組內(nèi)的某個(gè)值、一組值的相關(guān)知識點(diǎn),需要的朋友們學(xué)習(xí)下。2020-03-03C#設(shè)計(jì)模式實(shí)現(xiàn)之迭代器模式
迭代器模式把對象的職責(zé)分離,職責(zé)分離可以最大限度減少彼此之間的耦合程度,從而建立一個(gè)松耦合的對象,這篇文章主要給大家介紹了關(guān)于C#設(shè)計(jì)模式實(shí)現(xiàn)之迭代器模式的相關(guān)資料,需要的朋友可以參考下2021-08-08c# 使用Json.NET實(shí)現(xiàn)json序列化
這篇文章主要介紹了詳解C#中的JSON序列化方法,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下2021-05-05