【发布时间】:2012-04-12 16:27:49
【问题描述】:
我正在将 nullable integer 转换为 string,Resharper 警告我使用 InvariantCulture。
shipment.ShipmentID.ToString()
稍后快速Alt-Enter, Enter,给了我这个:
shipment.ShipmentID.ToString(CultureInfo.InvariantCulture)
不幸的是,Resharper 不满意,并提出了同样的建议,这对我来说没有意义。
shipment.ShipmentID.ToString(CultureInfo.InvariantCulture,
CultureInfo.InvariantCulture)
可空 int 上的 ToString() 不会构建,给我一个错误说明 没有重载方法 'ToString' 需要 1 个参数。
不可为空的整数表现不同。
int requiredInt = 3;
// no Resharper or compiler warning
var stringFromRequiredInt = requiredInt.ToString(CultureInfo.InvariantCulture);
我应该怎么做才能将nullable int 转换为string,这对于不同区域的计算机来说是安全的?
【问题讨论】:
-
使用 shipping.ShipmentID.Value 时会发生什么?对于可空类型,我通常使用 .HasValue 布尔值检查空值,然后使用 .Value。
标签: c# int type-conversion locale nullable