2009-07-19 9 views
1

J'ai été agréablement surpris il y a quelques mois pour apprendre que je pourrais utiliser beaucoup de constructions 3.x C# (types anonymes, lambdas, propriétés automatiques) dans .NET 2.0, en raison du fait que ils compilent tous à la même IL ... en effet, le sucre syntaxique. Est-ce également le cas de LINQ et XLINQ?est-XLINQ disponible avec .NET 2.0SP1

Puis-je utiliser ces constructions tout en ciblant les runtimes .NET 2.0?

+0

Vous pouvez les utiliser avec .NET 2.0; mais vous avez besoin de C# 3.0; le runtime (.NET) et la langue (C#) sont séparés. –

+0

Vous dites "C# 2.0 runtime", mais vous faites référence à .NET 2.0. C# est juste le langage de programmation. Il y a peu de relation entre la version du compilateur et la version .NET Framework. –

Répondre

2

Pour info, une grande partie de via (par exemple) LINQBridge le noyau de LINQ est disponible dans .NET 2.0 (avec C# 3.0). Cela vous donne plus de LINQ à objets (permettant la syntaxe de requête sur les collections en mémoire/itérateurs), mais il n'a pas fournir les nouveaux ensembles nécessaires à LINQ à XML ou LINQ to SQL, etc.

Donc non; vous ne pouvez pas utiliser XDocument sans les nouveaux assemblys à partir de .NET 3.5; mais vous pouvez faire de nombreuses choses LINK.

2

LINQ est un ensemble de méthodes d'extension définies dans l'ensemble System.Core qui fait partie du cadre .NET 3.5. Donc, pour utiliser LINQ et LINQ to XML, vous devez avoir .NET Framework 3.5 installé sur la machine cible car votre application aura une dépendance statique sur cet assemblage.

Il y a une belle diagram montrant ce qui est inclus dans les différentes versions du framework.

1

oui @miguel est syntactic sugar, mais il est vraiment utile et savoureux. Le Linq est venu à la scène avec C# 3 donc vous ne pouvez pas utiliser les choses LINQ dans la version 2.0.

Questions connexes