Здравствуйте, Serginio1, Вы писали:
S> Спасибо интересно!
S> А можно, получить только часть данных
Нет, только лишние переменные объявлять.
Следствие вот этого (valid c#7):
var a = (start:1, end:2);
(var x, var y) = a;
раз имена могут быть произвольными (важен только порядок), то простого способа вытащить, скажем, только вторую переменную нет.
В планах есть placeholder arg (
var * или
default) для паттерн-матчинга, но всё застряло на "подобрать хороший синтаксис и не заблокировать им более полезные фичи". По факту отложено до стадии "мы сумели подружить вместе тюплы, records и PM".
А то получится, как с out var — сначала
рубанули шашкой — дескать, можно писать
if(dict.TryGetValue(x, out var y) == false) return;
// y is assigned and available
Console.WriteLine(y);
а теперь четвёртый месяц пытаются кучу противоречий разрулить, что не так уж и просто, поскольку проверка на доступность переменной
откровенно хромает из-за local functions...
Как правильно ув. Пельмешко: When developers look at C# 7.0 they see "features". I see "job security"