1
假設這兩個代碼:使用的foreach與添加在新的列表使用已存在使用選擇一些其他的優點,而不是的foreach C#
var myList = new List<MyType>();
foreach(var myType in otherEntity.ListOfMyType) {
myList.Add(new MyType {
//... copy properties here
});
}
2)選擇
var myList = otherEntity.ListOfMyType.Select(myType => new MyType {
//... copy properties here
});
存在的其他
1)使用select的優點代替foreach以外的可讀性?
在你的情況下,兩段代碼之間幾乎沒有什麼區別。可能會有一些非常小的性能差異(稍微小一點,我懷疑你會注意到)。所以是的,我認爲這只是爲了可讀性。 – Chris
[this]的可能重複(http://stackoverflow.com/questions/5322586/c-sharp-performance-of-linq-vs-foreach-iterator-block)...和[this](http:// stackoverflow.com/questions/22851234/linq-vs-foreach-vs-for-performance-test-results)...和[this](http://stackoverflow.com/questions/3156059/is-a-linq-語句快於foreach循環) –
'Select'是懶惰的並返回一個更普通的類型('IEnumerable'而不是'List '),這可能是一個優點。 –
Lee