自定義集合初始化器

2022-01-19 02:13:36 字數 1248 閱讀 1570

對int型別集合初始化,這樣寫:

static

void main(string

args)

;foreach (var item in

list)

console.readkey();

}

對鍵值對集合初始化,這樣寫:

static

void main(string

args),};

foreach (var item in

dic)

:", item.key, item.value);

}console.readkey();

}

編譯器是如何"讀懂"集合初始化器?

--編譯器根據慣例來理解集合初始化器,即約定:如果乙個型別實現ienumerable介面,並且提供了add(object obj)方法,該型別可以使用集合初始化器。

假設,我們想通過乙個集合初始化器來定義乙個模特的集合,以胸圍、腰圍、臀圍作為集合初始化器的引數:

var list = new

motes,

};

就像int型別一樣,是乙個資料結構,把它定義成結構型別:

public

struct

sanwei

}

而想讓motes類可以使用集合初始化器,需要滿足2個條件:

1、實現ienumerable介面

2、提供add(double xiong, double yao, double tun)方法

public

class motes : ienumerable

public

void add(double xiong, double yao, double

tun)

public ienumeratorgetenumerator()

ienumerator ienumerable.getenumerator()

}

在客戶端:

static

void main(string

args),};

foreach (var item in

list)

,腰圍:,臀圍:

",item._xiong, item._yao, item._tun);

}console.readkey();

}

自定義集合初始化器

對int型別集合初始化,這樣寫 static void main string args foreach var item in list console.readkey 對鍵值對集合初始化,這樣寫 static void main string args foreach var item in d...

Matlab自定義初始化函式

有時候,有些輸出的初始化不能在模型中直接設定,這時候可以通過設定模型引數配置。開啟 configuration parameters code generation custom code 選項卡,在右側的上半部分 insert custom c code in generated 選項卡裡選擇 i...

自定義類的初始化。

乙個類的初始化寫法糾結了多少人!下面這種初始化方法在object c裡,就像耶穌一樣無法撼動其位置,也像耶穌一樣,沒人敢有異議,以至於有人會說記住就可以了,別問為什麼。id init return self 對於初次接觸object c的人來說,這種寫法甚是糾結,但是如果你要是知道,object c...