Каково реальное использование Tuple? - PullRequest
4 голосов
/ 28 мая 2010

Может кто-нибудь объяснить, что на самом деле использует кортеж?

1 Ответ

9 голосов
/ 28 мая 2010

Вы можете думать, что кортежи немного похожи на анонимные типы, но без имен - с возможностью указывать типы возвращаемых данных и т. Д. Они полезны, когда вам нужен специальный многозначный тип данных, но вы хотите быть в состоянии указать это как тип возврата метода.

Например, int.TryParse может иметь подпись

static Tuple<int, bool> TryParse(string text)

В основном вы хотите вернуть int и bool. Существующая подпись использует параметр out, чтобы обойти тот факт, что вы можете вернуть только одно значение - кортежи - это еще один вариант. Точно так же KeyValuePair<TKey, TValue> - это просто пара значений.

Лично я хотел бы увидеть другой вариант: краткий способ достижения семантики анонимных типов (неизменяемость, именованные свойства, равенство и т. Д.), Но с именем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...