[visual-studio]无法比较 int?为 null

标签: Visual-Studio
发布时间: 2014/3/1 3:59:00
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

看看这段代码围拢由 textchanged 事件中的文本框:

        string testString = comboIPAddress.Text;
        string[] parts = testString.Split('.');
        int? ipclass = int.Parse(parts[0]);
        if (ipclass == null)
        {
            //do nothing
        }

        if (ipclass >= 1 && ipclass <= 126)
        {
            comboSubnet.Text = "255.0.0.0";
        }
        if (ipclass >= 192 && ipclass <= 223)
        {
            comboSubnet.Text = "255.255.255.0";
        }
        if (ipclass >= 128 && ipclass <= 191)
        {
            comboSubnet.Text = "255.255.0.0";
        }
        else
        {
            comboSubnet.Text = "";
        }

当执行该 exe 文件如果删除一切 ip 地址组合框中时,它给错误 (输入的字符串是不正确的格式。。我不知道的其他方式进行比较是 int 为 null。请帮助。

解决方法 1:

使用非空 int 并检查如果解析与 int.TryParse() ...

int ipclass;
if (!int.TryParse(parts[0], out ipclass))
{
    //do nothing
}
官方微信
官方QQ群
31647020