Ich habe ein Beispielprojekt mit C # 6.0-Extras erstellt - Null-Weitergabe und Initialisierung der Eigenschaften als Beispiel, Zielversion .NET 4.0 festgelegt und es funktioniert.
public class Cat
{
public int TailLength { get; set; } = 4;
public Cat Friend { get; set; }
public string Mew() { return "Mew!"; }
}
class Program
{
static void Main(string[] args)
{
var cat = new Cat {Friend = new Cat()};
Console.WriteLine(cat?.Friend.Mew());
Console.WriteLine(cat?.Friend?.Friend?.Mew() ?? "Null");
Console.WriteLine(cat?.Friend?.Friend?.TailLength ?? 0);
}
}
- Laut Wikipedia ist .NET Framework für C # 6.0 4.6.
- Diese Frage (und der Visual Studio 2015 CTP-Test) besagt, dass die CLR-Version 4.0.30319.0 ist.
- Auf dieser MSDN-Seite wird angegeben , dass .NET 4, 4.5, 4.5.2 CLR 4 verwendet. Es gibt keine Informationen zu .NET 4.6.
Bedeutet dies, dass ich C # 6.0-Funktionen für meine Software verwenden kann, die auf .NET 4.0 abzielt? Gibt es irgendwelche Einschränkungen oder Nachteile?