检查变量是否为空时出错

时间:2012-08-21 10:15:50

标签: c#

我有以下代码:

var topicValue = Model.Topic;
var replaceResult = string.Empty;
if (topicValue != null & topic.Contains(topicValue)) {

}

如果topicValue为null,我的意图是if不执行。但是我收到一条错误消息:

  

对象引用未设置为对象的实例。

任何人都可以解释我是如何做到这一点的吗?

5 个答案:

答案 0 :(得分:3)

使用&&代替&。无论第一部分的结果如何,逻辑AND 运算符&都将导致条件的两个部分都被执行。如果第一部分的结果为&&,则使用条件AND 运算符true 执行第二部分。

答案 1 :(得分:3)

var topicValue = Model.Topic;
var replaceResult = string.Empty;
if (topicValue != null & topic.Contains(topicValue)) {

}

应该是

var topicValue = Model.Topic;
var replaceResult = string.Empty;
if (topicValue != null && topic.Contains(topicValue)) {

}

编辑:

另外,您在哪里初始化主题?也许你应该检查一下它应该是

var topicValue = Model.Topic;
    var replaceResult = string.Empty;
    if (topicValue != null && topic != null && topic.Contains(topicValue)) {

    }

答案 2 :(得分:2)

最有可能的是,您的topic本身为空,这就是异常/错误的原因。

同时检查topic!=null

答案 3 :(得分:2)

您正在使用二元运算符&而不是逻辑1 &&

答案 4 :(得分:2)

你必须使用&&运算符作为逻辑AND

if (topicValue != null **&&** topic.Contains(topicValue)) {

}