IEnumerable的幾個簡單用法

2022-03-28 14:37:22 字數 987 閱讀 5942

咋一看到ienumerable這個介面,我們可能會覺得很神奇,在一般的程式設計時,基本上我們是想不到去用它的,可是,俗話說得好,存在便是道理,那麼,它對我們來說,能夠帶來哪些奇妙的事情呢?

要想弄懂它,我們還是看看其定義吧!

在msdn上,是這麼說的,它是乙個公開列舉數,該列舉數支援在非泛型集合上進行簡單的迭代。換句話說,對於所有陣列的遍歷,都來自ienumerable,那麼我們就可以利用這個特性,來定義乙個能夠遍歷陣列的通用方法,這樣看來,是不是很神奇呢?

例如:[csharp]view plain

copy

public static void print(ienumerable mylist)  

]:\t", i++, s.sname);  

}  if (obj is int)  

",obj);  

}  }  

console.writeline();  

}  上面,我們可以在foreach中進行多個if判斷,來進行相應的操作。

ienumerable 的另乙個用法是在泛型中的使用。其中用lamda表示式在陣列中查詢,具體例子如下:

[csharp]view plain

copy

list fruits =  

"orange", "blueberry", "grape", "strawberry" };  

/ list query = fruits.where(fruit => fruit.length < 6).tolist();  

ienumerable query = 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...