CA1305:int.Parse(String)
我收到CA1305警告。
Microsoft.Globalization:由于'int.Parse(string)'的行为可能因当前用户的区域设置而异,因此请在'_Default.CalculateImageButton_Click(object,ImageClickEventArgs)'中将此调用替换为'int.Parse(string ,IFormatProvider)'。 如果将向用户显示'int.Parse(string,IFormatProvider)'的结果,则将'CultureInfo.CurrentCulture'指定为'IFormatProvider'参数。 否则,如果结果将被软件存储和访问,例如当它被保存到磁盘或数据库时,指定'CultureInfo.InvariantCulture'。
如果在解析Int32时省略指定文化,究竟会出现什么问题?
这意味着当您从数据文件或数据库记录中读取“1,234”,然后尝试通过Parse将其转换为Int时,您将在美国得到1234,在德国得到1。 警告提供了很好的建议 - 如果您与用户交互,指定CurrentCulture(感谢Andrew!),并且如果您正在与文件系统或数据库(或任何其他用户)交互,请使用InvariantCulture
如果你正在解析一个整数,它可能有一千个分隔符,它们可以是“,”或“。”。 取决于语言环境。
链接地址: http://www.djcxy.com/p/75089.html