咋一看到ienumerable這個介面,我們可能會覺得很神奇,在一般的程式設計時,基本上我們是想不到去用它的,可是,俗話說得好,存在便是道理,那麼,它對我們來說,能夠帶來哪些奇妙的事情呢?
要想弄懂它,我們還是看看其定義吧!
在msdn上,是這麼說的,它是乙個公開列舉數,該列舉數支援在非泛型集合上進行簡單的迭代。換句話說,對於所有陣列的遍歷,都來自ienumerable,那麼我們就可以利用這個特性,來定義乙個能夠遍歷陣列的通用方法,這樣看來,是不是很神奇呢?
例如:public static void print(ienumerable mylist)
]:\t", i++, s.sname); }
if (obj is int)
",obj); }
}console.writeline(); }
上面,我們可以在foreach中進行多個if判斷,來進行相應的操作。
ienumerable 的另乙個用法是在泛型中的使用。其中用lamda表示式在陣列中查詢,具體例子如下:
listfruits =
"orange", "blueberry", "grape", "strawberry" };
// listquery = fruits.where(fruit => fruit.length < 6).tolist();
ienumerablequery = fruits.where(fruit => fruit.length < 6);
foreach (string fruit in query)
console.writeline(fruit);
以上的兩個例子呢,我覺得在平時程式設計中,還是會經常用到的,我們不妨試試。。。
IEnumerable的幾個簡單用法
咋一看到ienumerable這個介面,我們可能會覺得很神奇,在一般的程式設計時,基本上我們是想不到去用它的,可是,俗話說得好,存在便是道理,那麼,它對我們來說,能夠帶來哪些奇妙的事情呢?要想弄懂它,我們還是看看其定義吧!在msdn上,是這麼說的,它是乙個公開列舉數,該列舉數支援在非泛型集合上進行簡...
synchronized this 的幾個簡單示例
一 當兩個併發執行緒訪問同乙個物件object中的這個synchronized this 同步 塊時,乙個時間內只能有乙個執行緒得到執行。另乙個執行緒必須等待當前執行緒執行完這個 塊以後才能執行該 塊。二 然而,當乙個執行緒訪問object的乙個synchronized this 同步 塊時,另乙個...
介面IEnumerable的使用例項
public class linkedlist ienumerable public linkedlistnode last public linkedlistnode addlast object node else return newnode public ienumerator getenu...