2010-06-02 6 views
0

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

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

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

Благодаря

ответ

0

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

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

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

Смежные вопросы