C 拾遺系列 6 迭代器

2021-08-22 17:00:31 字數 1764 閱讀 8390

1. 示例:

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.collections;

namespace nettest

public

class

testiteration

public

void test()

sevencolor coloriteration = new

sevencolor();

foreach (string p in coloriteration)

console.out.writeline(p);

console.out.writeline("-------------desc-------------------");

foreach (string c in coloriteration.desccoloriteration(1, 5))

console.out.writeline(c);

console.out.writeline("--------------multi yield---------");

foreach (string c in coloriteration.getmutipleyied())

console.out.writeline(c);

public

class

sevencolor : ienumerable

string mcolor=;

#region ienumerable members/*

迭代器**使用 yield return 語句依次返回每個元素。yield break 將終止迭代。

可以在類中實現多個迭代器。每個迭代器都必須像任何類成員一樣有唯一的名稱,

並且可以在 foreach 語句中被客戶端**呼叫,如下所示:foreach(int x in sampleclass.iterator2){}

*/public

ienumerator getenumerator()

for (int i = 0; i < mcolor.length; i++)

yield

return mcolor[i];

#endregion

//注意,這裡返回的是ienumerable

public system.collections.ienumerable desccoloriteration(int start, int end)

for (int i = 0; i <=end; i++)

yield

return mcolor[end-i];

//在 foreach 迴圈的每次後續迭代(或對 ienumerator.movenext 的直接呼叫)中,

//下乙個迭代器**體將從前乙個 yield 語句之後開始,並繼續下乙個語句直至到達迭代器體的結尾或遇到 yield break 語句

public

ienumerable getmutipleyied()

yield

return

"hello";

yield

return

"i am";

yield

return

"jack";

yield

return

"wang";

2. 輸出

C 拾遺系列 4 索引器

1.概述 索引器允許類或結構的例項就像陣列一樣進行索引。索引器類似於屬性,不同之處在於它們的訪問器採用引數。索引器在語法上方便您建立客戶端應用程式可將其作為陣列訪問的類 結構或介面。索引器經常是在主要用於封裝內部集合或陣列的型別中實現的。例如,假定具有乙個名為 temprecord 的類,此類表示在...

拾遺系列(五)Tips

載入原圖 uiimage image uiimage imagenamed 拉伸處理 說明需要保護的區域 image image resizableimagewithcapinsets uiedgeinsetsmake 30,30,30,30 resizingmode uiimageresizing...

C語言拾遺

main函式引數 c語言規定main函式引數只能有兩個,習慣上這兩個引數寫成argc和argv。c語言還規定argc必須是整形變數,argv必須是指向字串的指標陣列。因此,main函式的函式頭應該寫為 main argc,argv int argc char argv 或者 main int arg...