Saya membuat proyek sampel, dengan C # 6.0 barang - propagasi nol dan inisialisasi properti sebagai contoh, menetapkan versi target .NET 4.0 dan itu ... berfungsi.
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);
}
}
- Wikipedia mengatakan .NET framework untuk C # 6.0 adalah 4.6.
- Pertanyaan ini (dan tes CTP Visual Studio 2015 ) mengatakan versi CLR adalah 4.0.30319.0.
- Halaman MSDN ini mengatakan bahwa .NET 4, 4.5, 4.5.2 menggunakan CLR 4. Tidak ada informasi tentang .NET 4.6.
Apakah itu berarti saya dapat menggunakan fitur C # 6.0 untuk perangkat lunak saya yang menargetkan .NET 4.0? Apakah ada batasan atau kekurangan?