C # as a language is independent of the .net framework.
For example: extension methods is a feature released with C # 3.0 that came with .Net 2.0. Extension methods depend on ExtensionAttribute , which is located in "mscorlib.dll", which was added in .Net 3.5. But you can use extension methods in .Net 2.0, given that you provide your own ExtensionAttributein your library. It should not be in mscorlib. See this question for more information .
As we know, async-await is new in C # 5.0, which was released with .Net 4.5, but we can use async-wait in .NET 4.0 itself .
Sameway, , . .Net framework.