我只是想知道如何编写一个必须表示为字符串的数字。
例如:
if (SelectedItem.Value == 0.ToString()) ...
或
if (SelectedItem.Value == "0") ...
或
public const string ZeroNumber = "0";
if (SelectedItem.Value == _zeroNumber) ...
或
if (Int.Parse(SelectedItem.Value) == 0)
答案 0 :(得分:9)
对于单次测试,我个人会选择
if (SelectedItem.Value == "0")
它没有大惊小怪,没有仪式 - 它正好说明了你要做的事情。
另一方面,如果我有一个应该是数字的值,然后我会根据这个数字做出反应,我会用:
int value;
// Possibly use the invariant culture here; it depends on the situation
if (!int.TryParse(SelectedItem.Value, out value))
{
// Throw exception or whatever
}
// Now do everything with the number directly instead of the string
答案 1 :(得分:2)
如果值是一个整数,那就是它应该自然使用的那个,那么我将它解析为一个int - 即使用最适合数据含义的类型。
例如,通常会从数据库查找表中填充下拉列表 - 如果将项密钥存储为整数,那么我认为您应该始终将其作为一个整体处理。同样,如果所选项的键再次存储在db中,则无论如何都需要将其转换为int。
答案 2 :(得分:1)
使用TryParse。
string value = "123";
int number;
bool result = Int32.TryParse(value, out number);
if (result)
{
...