.Net Типы туда и обратно - PullRequest
0 голосов
/ 02 июня 2010

Я создаю метод, который генерирует уникальный строковый ключ для некоторых параметров. Но тот же ключ, если вызов с теми же значениями.

Я просто принимаю примитивные типы, string, DateTime, Guid и Nullable (поскольку я добавляю типы вместе, я могу различать, кто является int, а кто int?), Потому что я могу преобразовать все в строку без потерянных значений или точности. (для float и double использовать ToString ("R"), DateTime ToString ("O")).

Существует простой способ узнать, какие типы я могу преобразовать в строки без конфликта? И как это преобразование (как я уже говорил, у float, double и datetime есть определенные способы)

Спасибо

1 Ответ

0 голосов
/ 02 июня 2010

Важно убедиться, что строки, инвариантные к культуре, используются для обхода.

Поэтому я обычно использую XmlConvert.ToXxx() методы для преобразования и анализа строк; те используют стандартные форматы XML, которые предназначены для использования в обходе. Изучение поддерживаемых типов также дает представление о типах, которые работают «из коробки».

Для более общего подхода вы можете использовать интерфейсные методы IConvertible, которые все принимают IFormatProvider, который может быть, например, инвариантной культурой (CultureInfo.InvariantCulture), но на самом деле не гарантирует функциональность туда и обратно .

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