Pytania oznaczone «c#-6.0»

275
Czy C # 6.0 działa dla .NET 4.0?

Stworzyłem przykładowy projekt z dodatkami C # 6.0 - propagacja zerowa i inicjalizacja właściwości jako przykład, ustaw docelową wersję .NET 4.0 i to ... działa. public class Cat { public int TailLength { get; set; } = 4; public Cat Friend { get; set; } public string Mew() { return "Mew!";...

263
Jaki jest cel nameof?

Wersja 6.0 ma nową funkcję nameof, ale nie rozumiem jej celu, ponieważ po prostu pobiera nazwę zmiennej i zmienia ją na ciąg znaków podczas kompilacji. Myślałem, że może mieć jakiś cel podczas używania, <T>ale kiedy próbuję, po nameof(T)prostu drukuje mi Tzamiast używanego typu. Masz pomysł...

229
Co to jest przypisanie => w C # w sygnaturze właściwości

Natknąłem się na kod, który powiedział public int MaxHealth => Memory[Address].IsValid ? Memory[Address].Read<int>(Offs.Life.MaxHp) : 0; Teraz jestem nieco zaznajomiony z wyrażeniami Lambda. Po prostu nie widziałem, żeby używało go w ten sposób. Jaka byłaby różnica między...

138
Długie linie interpolacji ciągów w C # 6

Zauważyłem, że chociaż interpolacja ciągów jest naprawdę przyjemna, gdy jest stosowana do wywołań formatu ciągu w istniejącej bazie kodu, biorąc pod uwagę ogólnie preferowany limit kolumn, ciąg szybko staje się zbyt długi dla pojedynczej linii. Zwłaszcza, gdy interpolowane wyrażenia są złożone....

106
Jak zaktualizować MSBuild do C # 6?

Chcę używać C # 6 w moim projekcie (propagacja wartości null, inne funkcje). Zainstalowałem VS 2015 na moim komputerze i działa świetnie i buduje kod testowy, taki jak var user = new SingleUserModel(); //all model fields are null var test = user.User?.Avatar?["blah"]; Ale kiedy wypycham projekt...

93
TryParse bez parametru var

Nowa funkcja w C # 6.0 pozwala zadeklarować zmienną wewnątrz metody TryParse. Mam kod: string s = "Hello"; if (int.TryParse(s, out var result)) { } Ale otrzymuję błędy kompilacji: Co robię źle? PS: w ustawieniach projektu są ustawione C # 6.0 i .NET Framework 4.6.

93
Interpolacja ciągów w widoku Razor?

Czy to jest obsługiwane? Jeśli tak, czy jest jakaś sztuczka, aby to włączyć? Zakładam, że Razor nie używa wystarczająco nowego kompilatora ...? IDE VS2015 wydaje się być w porządku, ale w czasie wykonywania dostaję CS1056: Nieoczekiwany znak „$”