C#和.NET版本是否相互依赖?

tra*_*ton 7 .net c# frameworks

我刚开始学习C#及其与.NET的关系.如果说我想利用最新的C#语言约定,但想要定位,比如一个.NET 2.0框架,我能做到吗?或者使用最新的C#意味着我必须使用最新的.NET?

Sri*_*vel 6

C#作为一种语言不依赖于.net框架。

例如:扩展方法是C#3.0随.Net 2.0一起发布的功能。扩展方法取决于存在于.Net 3.5中的“ mscorlib.dll”中的ExtensionAttribute。但是,只要您ExtensionAttribute在库本身中提供自己的扩展名,就可以在.Net 2.0中使用扩展方法。它不需要在mscorlib中。请参阅此问题以获取更多信息

我们知道是在.Net 4.5中发布的C#5.0中的新功能,但是我们可以在.Net 4.0本身中使用async-await

Sameway,可以在您自己的程序集中定义语言功能的大多数依赖性,以使其正常工作。因此,它不需要特定的.Net框架版本。

  • 如果将.NET框架视为“ CLR +托管库”的组合,则更容易解释为什么新的功能(例如异步/等待)随新的框架版本一起出现。 (2认同)