我刚刚开始学习C#及其与.NET的关系。如果说我想利用最新的C#语言约定,但想要定位,比如一个.NET 2.0框架,我能做到吗?或者使用最新的C#意味着我必须使用最新的.NET?
答案 0 :(得分:6)
C#作为一种语言不依赖于.net框架。
例如:扩展方法是与C#3.0一起发布的功能,它与.Net 2.0一起发布。
扩展方法取决于ExtensionAttribute,它位于" mscorlib.dll"这是在.Net 3.5中添加的。但是,您可以在.Net 2.0中使用Extension方法,因为您在库中提供了自己的ExtensionAttribute
。它不需要在mscorlib中。请参阅this question for more info。
我们知道async-await是使用.Net 4.5发布的C#5.0中的新功能,但是we can use async-await in .Net 4.0 itself。
Sameway,语言功能的大多数依赖项都可以在您自己的程序集中定义,以使其工作。所以它不需要特定的.Net框架版本。
答案 1 :(得分:0)
您可以使用最新的visual studio版本(2013,2015)的功能,但代码必须符合2.0规范才能允许.NET 2.0编译(旧版本)
答案 2 :(得分:0)
是的,C#和.Net版本是依赖的。根据我的理解,C#是一种使用.Net技术工作的编程语言。
学习C#意味着学习基本语法,这在所有.Net版本中几乎相同。因此,对于学习c#,您必须定位哪个.Net版本并不重要。不同的.Net版本增加了某些新功能。无论如何更好地了解最新的.Net版本,它将帮助您完成项目。
答案 3 :(得分:0)
您可以使用早期版本的C#功能和更高版本的.Net,例如,您可以使用.Net 3.5的任何C#2.0功能,这不会以其他方式工作,因此您无法使用.Net 3.5功能使用c#2.0编译器。
有关详细信息,请参阅:https://msdn.microsoft.com/en-us/library/ff602939(v=vs.110).aspx
答案 4 :(得分:0)
C ++ 6.0在.NET 5.0中可用。 这取决于CLR。 C#4,4.5和4.5.1正在使用CLR第4版。
答案 5 :(得分:0)
是的C#依赖于.net版本。两者之间的依赖关系是提供的功能和技术。请参阅以下链接:
https://msdn.microsoft.com/en-us/library/bb822049%28v=vs.110%29.aspx