mysql檔案索引器 C 索引器

2021-10-18 11:30:17 字數 2211 閱讀 5727

概念

索引器(indexer) 允許類中的物件可以像陣列那樣方便、直觀的被引用。當為類定義乙個索引器時,該類的行為就會像乙個 虛擬陣列(virtual array) 一樣。

索引器可以有引數列表,且只能作用在例項物件上,而不能在類上直接作用。

可以使用陣列訪問運算子([ ])來訪問該類的例項。

索引器的行為的宣告在某種程度上類似於屬性(property)。屬性可使用 get 和 set 訪問器來定義索引器。但是屬性返回或設定的是乙個特定的資料成員,而索引器返回或設定物件例項的乙個特定值。

定義乙個一維陣列的索引器:

element-type this[int index]

// get 訪問器

get// 返回 index 指定的值

// set 訪問器

set// 設定 index 指定的值

例項:using system;

namespace c_pro

public class student

private string name;

private string grade;

public string name

get

set

public string grade

get

set

// 定義索引器

public string this[int index]

getif (index == 0) return name;

else if (index == 1) return grade;

else return null;

setif (index == 0) name = value;

else if (index == 1) grade = value;

static void main(string args)

student s = new student();

s[0] = "jeson";

s[1] = "first-year";

console.writeline(s.name);

console.writeline(s.grade);

console.readkey();

執行後結果:

jeson

first-year

過載索引器

索引器(indexer)可被過載。索引器宣告的時候也可帶有多個引數,且每個引數可以是不同的型別。沒有必要讓索引器必須是整型的。c# 允許索引器可以是其他型別,例如,字串型別。

using system;

namespace c_pro

public class indexednames

private string namelist = ;

// 輸入namelist的index返回對應的值

public string this[int index]

getreturn namelist[index];

setnamelist[index] = value;

// 輸入namelist的值,返回對應的索引

public int this[string name]

getfor (int i=0; i

if (namelist[i] == name) return i;

return -1;

static void main(string args)

indexednames name = new indexednames();

console.writeline(name[1]);

console.writeline(name["a"]);

執行後結果:

b索引器與陣列的區別:

索引器的索引值(index)型別不限定為整數,用來訪問陣列的索引值(index)一定為整數,而索引器的索引值型別可以定義為其他型別。

索引器允許過載, 乙個類不限定為只能定義乙個索引器,只要索引器的函式簽名不同,就可以定義多個索引器,可以過載它的功能。

索引器不是乙個變數,索引器沒有直接定義資料儲存的地方,而陣列有。索引器具有get和set訪問器。

索引器與屬性的區別:

索引器以函式簽名方式 this 來標識,而屬性採用名稱來標識,名稱可以任意。

索引器可以過載,而屬性不能過載。

索引器不能用static 來進行宣告,而屬性可以。索引器永遠屬於例項成員,因此不能宣告為static。

mysql檔案索引器 快速了解c 中的索引器

class person set 屬性宣告可以如下編碼 person p new person p.firstname tom console.writeline p.firstname 屬性宣告倒更像是域宣告,只不過它還宣告了兩個特殊的成員,按照微軟的說法就是所謂的訪問函式 accessor 當某...

C 索引器 索引器的定義

索引器定義類似於屬性,但其功能與屬性並不相同。索引器提供一種特殊的方法編寫get和set訪問器。屬性可以像訪問字段一樣訪問物件的資料,索引器可以使使用者像訪問陣列一樣訪問類成員。定義索引器的語法如下 訪問修飾符 型別名稱 this 型別名稱 引數名 set索引器沒有像屬性和方法那樣的名字,關鍵字th...

C 索引器 索引器的定義

索引器定義類似於屬性,但其功能與屬性並不相同。索引器提供一種特殊的方法編寫get和set訪問器。屬性可以像訪問字段一樣訪問物件的資料,索引器可以使使用者像訪問陣列一樣訪問類成員。定義索引器的語法如下 訪問修飾符 型別名稱 this 型別名稱 引數名 set索引器沒有像屬性和方法那樣的名字,關鍵字th...