C 中索引器和屬性的區別

2022-03-11 23:37:57 字數 1489 閱讀 1710

索引器允許類或者結構的例項按照與陣列相同的方式進行索引取值,索引器與屬性類似,不同的是索引器的訪問是帶參的。

索引器和陣列比較:

(1)索引器的索引值(index)型別不受限制

(2)索引器允許過載

(3)索引器不是乙個變數

索引器和屬性的不同點

(1)屬性以名稱來標識,索引器以函式形式標識

(2)索引器可以被過載,屬性不可以

(3)索引器不能宣告為static,屬性可以

乙個簡單的索引器例子

using system;

using system.collections;

public class indexerclass

return null;

}//實現索引器的set方法

set}

}}public class test

}

以字串作為下標,對索引器進行訪問

public class indexerclass

}}public class test

}

索引器的過載

public class indexerclass

set

}//2:通過values訪問key

public int this[string aname]

}return -1;

}set

}}public class test

}

多參索引器

using system;

using system.collections;

//入職資訊類

public class entrantinfo

public entrantinfo(string name, int num, string department)

public string name

set

}public int num

set

}public string department

set

}}//宣告乙個類entrantinfo的索引器

public class indexerforentrantinfo

//宣告乙個索引器:以名字和編號查詢訪問部門資訊

public string this[string name, int num]

}return null;

}set

}//宣告乙個索引器:以編號查詢名字和部門

public arraylist this[int num]

}return temp;}}

//還可以宣告多個版本的索引器...

}public class test

}}

C 中屬性和索引的區別

屬性和索引器的差別 乙個物件只有乙個屬性值,所以要存放多個值必須例項化多個物件 通常情況下,例項化乙個陣列的物件,接著例項化的物件賦給這個陣列 乙個物件對應的索引是乙個陣列,並且可以存放多個數值或字串,所以只需要例項化乙個物件就可以存放以及訪問多個儲存內容。using system using sy...

C 欄位和屬性,索引器的區別

一 c 欄位和屬性的區別與介紹 自字段 訪問許可權 值型別 欄位名 例如 private int number 屬性 public int number set 欄位和屬性的區別。例子說明 如果我們有乙個公有字段 如成績的分數 public int score 我們可以在類的外部,訪問,修改字段。但...

c 屬性和索引器

1 屬性 所謂屬性其實就是特殊的類成員,它實現了對私有類域的受控訪問。在c 語言中有兩種屬性方法,其一是get,通過它可以返回私有域的值,其二是set,通過它就可以設定私有域的值。比如說,以下面的 為例,建立學生姓名屬性,控制對name欄位的受控訪問 2 索引器 簡單說來,所謂索引器就是一類特殊的屬...