CA1305:int.Parse(String)

nia*_*her 4 asp.net cultureinfo visual-studio

我收到了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时省略指定文化,究竟会出现什么问题?

Ana*_*tts 11

这意味着当您从数据文件或数据库记录中读取"1,234"时,然后尝试通过Parse将其转换为Int,您将在美国获得1234,在德国获得1.警告提供了很好的建议 - 如果您正在与用户交互,请指定CurrentCulture(感谢Andrew!),如果您正在与文件系统或数据库(或任何!用户)进行交互,请使用InvariantCulture