Вопросы с тегом «c#-6.0»

275
Работает ли C # 6.0 для .NET 4.0?

Я создал пример проекта с вкусностями C # 6.0 - нулевое распространение и инициализация свойств в качестве примера, установил целевую версию .NET 4.0, и это ... работает. public class Cat { public int TailLength { get; set; } = 4; public Cat Friend { get; set; } public string Mew() { return "Mew!";...

264
Какова цель имени?

В версии 6.0 появилась новая функция nameof, но я не могу понять ее назначение, поскольку она просто берет имя переменной и заменяет ее на строку при компиляции. Я думал, что это может иметь какую-то цель при использовании, <T>но когда я пытаюсь, nameof(T)он просто печатает меня Tвместо...

229
Что такое присвоение => в C # в сигнатуре свойства

Я наткнулся на код, который сказал public int MaxHealth => Memory[Address].IsValid ? Memory[Address].Read<int>(Offs.Life.MaxHp) : 0; Теперь я немного знаком с лямбда-выражениями. Я просто не видел, чтобы он использовал это таким образом. Какая разница между приведенным выше заявлением и...

201
Как включить функцию C # 6.0 в Visual Studio 2013?

Я просматривал последние функции, представленные в C # 6.0, и просто следовал примеру инициализатора автоматического свойства, class NewSample { public Guid Id { get; } = Guid.NewGuid(); } но моя IDE не распознала синтаксис. Мне интересно, как я мог включить C # 6.0 в Visual Studio 2013. Целевая...

136
Как отключить поддержку C # 6 в Visual Studio 2015?

Задний план У нас есть проект, который мы разрабатываем в VS 2015 с включенным C # 6, который иногда нужно открывать разработчикам, использующим VS 2013 без C # 6. Мы не собираемся использовать C # 6 в этом конкретном решении (как бы мне этого ни хотелось). проблема Visual Studio и ReSharper...

135
Функции C # 6.0, не работающие с Visual Studio 2015

Я тестирую Visual Studio 2015 с C # 6.0, но языковые функции не работают. В веб-приложении MVC следующий код компилируется: if (!string.IsNullOrWhiteSpace(Model.Profile?.TypeName)) { // More logic here... } Однако, когда я запускаю приложение через Debug и IIS Express, я получаю следующую ошибку:...

134
Строки интерполяции длинной строки в C # 6

Я обнаружил, что, хотя строковая интерполяция действительно хороша при применении к вызовам формата строки моей существующей базы кода, учитывая обычно предпочтительный предел столбца, строка быстро становится слишком длинной для одной строки. Особенно, когда интерполируемые выражения сложные. Со...

133
Что означает запланированный «закрытый защищенный» модификатор доступа C #?

Как часть документации Roslyn по GitHub, есть страница, которая называется Статус реализации функции языка. , с запланированными языковыми функциями для C # и VB. Одна особенность, которую я не мог обернуть вокруг себя, была private protectedмодификатор доступа: private protected string GetId() { …...

133
Как использовать дословные строки с интерполяцией?

В C # 6 появилась новая функция: интерполированные строки. Они позволяют вставлять выражения прямо в код, а не полагаться на индексы: string s = string.Format("Adding \"{0}\" and {1} to foobar.", x, this.Y()); становится: string s = $"Adding \"{x}\" and {this.Y()} to foobar."; Однако у нас есть...

126
Как использовать C # 6 с типом проекта веб-сайт?

Обновил существующий тип проекта веб-сайта Visual Studio 2015, я изменил Framework на 4.6. Затем я ожидал, что все эти новые функции будут доступны в моем коде файлов. К сожалению, я получаю такие ошибки: Ошибка CS8026: функция "свойство, содержащее выражение" недоступна в C # 5. Используйте язык...

123
Как использовать функцию C # 6 «Использование статики»?

Я рассматриваю несколько новых функций C # 6, в частности, «использование статики» . using static - это новый вид предложения using, который позволяет импортировать статические члены типов непосредственно в область видимости. (Внизу сообщения в блоге) Идея заключается в следующем, согласно паре...

106
Как обновить msbuild до C # 6?

Я хочу использовать C # 6 в своем проекте (нулевое распространение, другие функции). Я установил VS 2015 на свой компьютер, он отлично работает и создает тестовый код вроде var user = new SingleUserModel(); //all model fields are null var test = user.User?.Avatar?["blah"]; Но когда я помещаю свой...

103
Почему я не могу использовать оператор нулевого распространения в лямбда-выражениях?

Я часто использую в своем коде оператор распространения null, потому что он дает мне более читаемый код, особенно в длинных запросах, мне не нужно проверять на null каждый используемый класс. Следующий код вызывает ошибку компиляции, что мы не можем использовать оператор распространения null в...

98
Первичные конструкторы больше не компилируются в VS2015

До сих пор я мог использовать первичные конструкторы, такие как: public class Test(string text) { private string mText = text; } Чтобы сделать это, в предыдущей версии Visual Studio CTP мне пришлось добавить это в csproj-файл: <LangVersion>Experimental</LangVersion> Во всяком случае,...

97
Автоматическое свойство только с геттером, может быть установлено, почему?

Я создал автоматизированное свойство: public int Foo { get; } Это только геттер. Но когда я создаю конструктор, я могу изменить значение: public MyClass(string name) { Foo = 5; } Почему это возможно, даже если это только получение?...

93
TryParse без параметра var

Новая функция в C # 6.0 позволяет объявлять переменную внутри метода TryParse. У меня есть код: string s = "Hello"; if (int.TryParse(s, out var result)) { } Но я получаю ошибки компиляции: Что я делаю не так? PS: в настройках проекта заданы C # 6.0 и .NET framework 4.6....

93
Строковая интерполяция в представлении Razor?

Это поддерживается? Если да, есть ли какой-нибудь трюк для его включения? Я предполагаю, что Razor не использует достаточно новый компилятор ...? IDE VS2015, кажется, в порядке, но во время выполнения я получаю CS1056: Неожиданный символ "$"...