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

C # 6.0 поставляется вместе с Roslyn (.NET Compiler Platform) и Visual Studio 2015.

1
Как использовать тернарный оператор внутри интерполированной строки?
Я не понимаю, почему этот код не скомпилируется: var result = $"{fieldName}{isDescending ? " desc" : string.Empty}"; Если я разделю это, это работает отлично: var desc = isDescending ? " desc" : string.Empty; var result = $"{fieldName}{desc}";


5
Работает ли 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() …
275 c#  .net  c#-6.0 

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

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

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

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

7
Функции 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, я получаю следующую ошибку: CS1525: недопустимый термин "." Как включить эти функции?

5
Строки интерполяции длинной строки в C # 6
Я обнаружил, что, хотя строковая интерполяция действительно хороша при применении к вызовам формата строки моей существующей базы кода, учитывая обычно предпочтительный предел столбца, строка быстро становится слишком длинной для одной строки. Особенно, когда интерполируемые выражения сложные. Со строкой формата у вас есть список переменных, который можно разделить на несколько строк. …
134 c#  c#-6.0 

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

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

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

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

2
Оценивается ли nameof () во время компиляции?
В C # 6 вы можете использовать nameof()оператор для получения строки, содержащей имя переменной или типа. Это оценивается во время компиляции или во время выполнения через какой-нибудь Roslyn API?
114 c#  roslyn  c#-6.0 

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.