【发布时间】:2011-02-03 09:33:40
【问题描述】:
最近我看到了很多 C# 4.0 的变化。我真的很喜欢其中一些。此外,出于兼容性原因,我还不想继续使用 .Net 4.0。
那么,是否有适用于 .Net 3.5 或更低版本的新 C# 4.0 语言功能的完整列表?
例如,默认参数是否需要 .NET 4.0 CLR,或者它们是编译器功能?可以使用自动属性(C# 3.0 功能)并且仍然以 .NET 2.0 为目标,因为这不需要 Framework 支持,但不需要使用 LINQ 表达式,因为这确实需要 Framework 3.5。
请不要说“当然 C#4.0 不能在 .Net 3.5 中工作,因为它更旧”
【问题讨论】:
-
我不确定是否有,因为 .NET 4.0 带来了新版本的 CLR。您不能在 2.0 CLR(这是 CLR .NET 3.5 使用的)中运行 .NET 4 程序集。据我所知,C# 4 编译器没有提供针对 3.5 的方法。
-
例如,默认参数是否需要 .NET 4.0 CLR,或者它们是编译器功能?可以使用自动属性(C# 3.0 特性)并且仍然以 .NET 2.0 为目标,因为它不需要 Framework 支持,但不使用 LINQ 表达式,因为 确实 需要 Framework 3.5。
-
@John,是的,这就是我要问的。我不知道有这么多人认为 C# 与 .Net 相同
-
@Earlz:实际上,您仍然可以使用 LINQ 查询表达式。它们是句法特征。您错过的是 LINQ-to-objects、LINQ-to-XML 和朋友。看看 LinqBridge。
-
@Matt:可能是这样,但 CLR 是新的这一事实并没有强制禁止使用编译器独有的功能,就像您可以使用自动属性和目标 .NET 1.1
标签: c# .net c#-4.0 compatibility