2010-06-02 105 views
0

我开发了一种为某些参数生成唯一字符串键的方法。但是,如果使用相同的值调用相同的密钥。我只接受原始类型,字符串,DateTime,Guid和Nullable(因为我将类型追加在一起,我可以区分谁是int和谁是int?),因为我可以将所有字符串转换为没有丢失值或精度的字符串。(用于float和double使用ToString(“R”),到DateTime ToString(“O”))。.Net往返类型

存在一个简单的方法来知道我可以在没有冲突的字符串中转换哪些类型?以及如何改变这种(我是怎么说的之前,浮动,双和日期时间有具体方式)

感谢

回答

0

这是确保区域性不变的字符串用于双向传递重要。

因此我通常使用XmlConvert.ToXxx()方法转换为字符串并进行解析;那些正在使用旨在用于往返的标准XML格式。查看支持的类型还可以让您了解可以开箱即用的类型。

对于一个更通用的方法,你可以使用IConvertible接口的方法,所有接受IFormatProvider可以是例如固定区域性(CultureInfo.InvariantCulture),但并没有真正保证往返功能。