[問題] LINQ & IEnumerator

作者: don750421 (1+1≠2)   2014-11-04 21:04:58
小弟最近在研讀LINQ及Lamdba
有個點一直想不通。
因為我是邊看書邊學...
在書的開頭提到可以使用from where select去查詢集合內的資料
例如:
List<string> temp = new <string>
{
"Mon","Tue","Wed","Thi","Fri","Sat","Sun"
};
可以透過
IEnumerable<string> test =
from str in temp
where str.StartWith("T")
select
取得所需要的資料。
但是,在第二、三張的又介紹了GetEnumator這個列舉器。
這個的作用也是逐一地去查詢集合中的每一個元素...
那麼跟上述的from where select 有什麼差異呢??
什麼時候會用到from where select ?
甚麼時候又會用到 IEnumable的 GetEnumator呢??
麻煩各位前輩指點迷津
謝謝
作者: O187 (187cm)   2014-11-04 21:17:00
好開發,增加可讀性
作者: SmartGoose (聰明的鵝)   2014-11-04 23:17:00
LINQ底層應該也是用IEnumable,你就不用自已去操作IEnumable
作者: deuter (Harold)   2014-11-05 12:19:00
你可以試試看把上面的程式用 GetEnumerator 寫出來比較看看, 就知道差在哪裡了
作者: don750421 (1+1≠2)   2014-11-05 21:23:00
是因為foreach底層在也是會實作Enumable嗎??所以,書上才會列出這部分讓讀者參考?
作者: moremore1234 (漢生博依)   2014-11-05 23:10:00
你可以看msdn上寫的http://ppt.cc/JQ4Q

Links booklink

Contact Us: admin [ a t ] ucptt.com