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

10
Предопределенный тип 'System.ValueTuple´2´ не определен или не импортирован
Я установил Visual Studio 15 Preview 3 и попытался использовать новую функцию кортежа static void Main(string[] args) { var x = DoSomething(); Console.WriteLine(x.x); } static (int x, int y) DoSomething() { return (1, 2); } Когда я компилирую, я получаю ошибку: Предопределенный тип 'System.ValueTuple´2´ не определен или не импортирован Согласно …

2
В чем разница между «x = ноль» и «x == ноль»?
В C # 7 мы можем использовать if (x is null) return; вместо того if (x == null) return; Есть ли преимущества использования нового способа (прежний пример) по сравнению со старым? Семантика отличается? Это просто вопрос вкуса? Если нет, когда я должен использовать один поверх другого? Ссылка: Что нового в …

4
Локальная функция против Lambda C # 7.0
Я смотрю на новые реализации в C # 7.0, и мне интересно, что они реализовали локальные функции, но я не могу представить сценарий, где локальная функция предпочтительнее лямбда-выражения, и в чем разница между ними. Я понимаю, что лямбда- anonymousфункции являются функциями, в то время как локальные функции - нет, но …
178 c#  function  lambda  c#-7.0 


6
В чем разница между System.ValueTuple и System.Tuple?
Я декомпилировал некоторые библиотеки C # 7 и увидел, ValueTupleчто используются дженерики. Что есть ValueTuplesи почему нет Tuple? https://docs.microsoft.com/en-gb/dotnet/api/system.tuple https://docs.microsoft.com/en-gb/dotnet/api/system.valuetuple
139 c#  .net  tuples  c#-7.0 

2
Оператор синтаксиса нечетного возврата
Я знаю, это может показаться странным, но я даже не знаю, как искать этот синтаксис в Интернете, а также не уверен, что именно означает. Итак, я просмотрел код MoreLINQ, а потом заметил этот метод public static IEnumerable<TSource> DistinctBy<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey> comparer) { if (source == …
106 c#  .net  c#-7.0 

4
Невозможно вернуть Tuple из метода с использованием Visual Studio 2017 и C # 7.0
Я установил Visual Studio 2017 Community, выпущенный неделю назад, и начал изучать новые возможности C # 7. Итак, я создал простой метод, который возвращает два значения: public class Program { public static void Main(string[] args) { (int sum, int count) a = ReturnTwoValues(); } static (int sum, int count) ReturnTwoValues() …

3
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 c#  c#-6.0  c#-7.0 

2
Можно ли в C # определить псевдоним кортежа значений с именами?
Я знаю, что в C # можно определять псевдонимы с помощью ключевого слова using . например using ResponseKey = System.ValueTuple<System.Guid, string, string>; Однако можно ли определить его, используя новый синтаксис для кортежей значений? using ResponseKey = (Guid venueId, string contentId, string answer); Этот синтаксис не работает. Должен ли он?
92 c#  c#-7.0 

3
переключение со странным поведением var / null
Учитывая следующий код: string someString = null; switch (someString) { case string s: Console.WriteLine("string s"); break; case var o: Console.WriteLine("var o"); break; default: Console.WriteLine("default"); break; } Почему включен оператор switch case var o? Насколько я понимаю, case string sэто не совпадает, когда, s == nullпотому что (эффективно) (null as string) …

6
C # 7: подчеркивание (_) и звезда (*) в переменной Out
Я читал о новых функциях переменных в C # 7 здесь . У меня два вопроса: Это говорит Мы также разрешаем "отбрасывать" как параметры out в форме a _, чтобы вы могли игнорировать параметры, которые вам не нужны: p.GetCoordinates(out var x, out _); // I only care about x В: …
79 c#  c#-7.0 
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.