public class Person {
public string First { get; set; }
public string Last { get; set; }
}
和呼叫:解釋這些LINQ的代碼
var persons = new List<Person>();
persons.Add(new Person {First = "First 04", Last = "Last 04"});
persons.Add(new Person {First = "First 03", Last = "Last 03"});
persons.Add(new Person {First = "First 02", Last = "Last 02"});
persons.Add(new Person {First = "First 01", Last = "Last 01"});
var claim1 = new List<Person>(from c in persons select c);
var claim2 = new List<Person>(persons);
有什麼區別,或者使用本聲明
var claim1 = new List<Person>(from c in persons select c);
在這句話的優勢。
var claim2 = new List<Person>(persons);
是什麼讓你覺得這些不同?我的意思是,它們*只要前者有一個通過所有數據傳遞的額外層即可。但根據定義,結果是相同的。 – 2014-09-05 03:44:29
實際上,沒有。構造函數列表(IEnumerable src)'每次調用。不同之處在於,在第一種情況下,您在「System.Linq.Enumerable + WhereSelectListIterator」中將您的列表(它已經是'IEnumerable ')包裝起來,它對每個項目進行單位變換(即沒有)。沒有linq聲明中的進一步條款,使用它是一種浪費。 –
spender
2014-09-05 03:46:22
@spender你的評論是你應該把它放在答案部分的最佳答案 – Moes 2014-09-05 03:59:41