Я читал о новых функциях переменных в C # 7 здесь . У меня два вопроса:
Это говорит
Мы также разрешаем "отбрасывать" как параметры out в форме a
_
, чтобы вы могли игнорировать параметры, которые вам не нужны:p.GetCoordinates(out var x, out _); // I only care about x
В: Думаю, это всего лишь информация, а не новая функция C # 7, потому что мы можем сделать это и в версии до C # 7.0:
var _; if (Int.TryParse(str, out _)) ...
или мне что-то здесь не хватает?
Мой код выдает ошибку, когда я делаю, как указано в том же блоге:
~Person() => names.TryRemove(id, out *);
*
не является допустимым идентификатором. Я полагаю, это недосмотр Мадса Торгерсена?
out _
_
не является переменной, вы не объявляете ее и не можете использовать по имени. Вint _
том , что это переменная.