Что значит «Два кортежа с одинаковыми типами элементов, но с разными именами, совместимы»?

207
08 января 2018, 07:51

Читаю статью на Хабре про кортежи и так сказать с самого начала кое что не понял, а именно вот эту часть кода:

// Constructing the tuple instance
var tpl = (1, 2);
// Using tuples with a dictionary
var d = new Dictionary<(int x, int y), (byte a, short b)>();
// Tuples with different names are compatible
d.Add(tpl, (a: 3, b: 4));
...

Комментируя как я понимаю именно это выражение d.Add(tpl, (a: 3, b: 4)) автор пишет

Два кортежа с одинаковыми типами элементов, но с разными именами, совместимы: (int a, int b) = (1, 2)

Зачем это было отдельно выделять, это ведь тоже самое, к примеру если я прокомментирую следующий код

int a = 1;
int b = 2;
int c = a + b;

так: Две переменные имеют разные имена: a и b, но тип их значений 1 и 2 одинаков (целое число) и это значит, что они совместимы.

Я прав или тут что-то другое имелось в виду?

READ ALSO
Все по нулям при Десериализация JSON

Все по нулям при Десериализация JSON

Почему возвращает все по нулям? При десериализации

182
JSON на NodeJS сервере читается, но выдает ошибку

JSON на NodeJS сервере читается, но выдает ошибку

Код на стороне клиента (UnityЗа кадром вызов метода, старт и Usings)

199