具有字符串和数字的条件的BestPractice

时间:2010-02-10 09:18:06

标签: c# string integer

我只是想知道如何编写一个必须表示为字符串的数字。

例如:

if (SelectedItem.Value == 0.ToString()) ...

if (SelectedItem.Value == "0") ...

public const string ZeroNumber = "0";
if (SelectedItem.Value == _zeroNumber) ...

if (Int.Parse(SelectedItem.Value) == 0)

3 个答案:

答案 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)
{
    ...