2009-07-19 47 views
1

幾個月前,我驚喜地發現我可以在.NET 2.0中使用許多C#3.x結構(匿名類型,lambda表達式,自動屬性),這是因爲他們都編譯到相同的IL ...實際上,語法糖。XLINQ是否可用於.NET 2.0SP1

這也是LINQ和XLINQ的情況嗎?我是否仍然可以使用這些構造,同時仍以.NET 2.0運行時爲目標?

+0

你可以在.NET 2.0中使用它們;但你需要C#3.0;運行時(.NET)和語言(C#)是分開的。 – 2009-07-19 09:53:19

回答

2

有關信息,LINQ的很多核心都可以通過(例如)LINQBridge在.NET 2.0(使用C#3.0)中獲得。這爲您提供了大部分LINQ到對象(允許針對內存集合/迭代器查詢語法),但它不提供LINQ到XML或LINQ到SQL等所需的新程序集。

所以沒有;如果沒有.NET 3.5的新組件,則不能使用XDocument;但你可以做很多 LINQ的東西。

2

LINQ是System.Core程序集中定義的一組擴展方法,它是.NET Framework 3.5的一部分。因此,爲了使用LINQ和LINQ to XML,您需要在目標機器上安裝.NET Framework 3.5,因爲您的應用程序將對此程序集具有靜態依賴性。

有一個不錯的diagram顯示了不同版本的框架中包含的內容。

1

是@miguel它是syntactic sugar,但它確實有幫助和美味。 Linq出現在C#3中,所以你不能在2.0版本中使用LINQ。