Радует меня новый синтаксис C#
От: VladD2 Российская Империя www.nemerle.org
Дата: 16.06.17 10:38
Оценка: 3 (1) +1 :)
class Program
{
  public static (int First, string Second) TupleField;

  static (int x, string y) Tuple;

  static ref (int x, string y) var(int x, string y)
  {
    return ref Tuple;
  }

  static ref (int x, string y) Foo(int x, string y)
  {
    return ref Tuple;
  }

  static void Main()
  {
    var tuple = (42, "b");

    var(a, b) = tuple; // объявление двух локальных переменных.
    Foo(a, b) = tuple; // а здесь вызов метода!
    var(a, b);         // и здесь вызов метода! Не путать! :)
  }
}


Вот на хрена сначала было делать var контекстным ключевым словом, а потом делать исключения для него?

Причем на выпуск спецификаций C# Microsoft забил, так что описание всей этой магии отсутствует. Если я не прав, бросьте в меня ссылкой.

Сейчас пилю поддержку фич 7-го Шарпа на Nitra. Приходится заниматься реверс-инжинирингом логики этих бравых парней.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Отредактировано 16.06.2017 10:38 VladD2 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.