-1

我有以下代码:

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

}

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

你调用的对象是空的。

谁能解释我如何才能完成这项工作?

4

5 回答 5

3

使用&&而不是&. 无论第一部分的结果如何,逻辑 AND 运算符都会导致条件的两个部分都被执行如果第一部分的结果是&,则使用条件 AND运算符&&只会执行第二部分。true

于 2012-08-21T10:17:03.463 回答
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)) {

    }
于 2012-08-21T10:17:15.397 回答
2

很可能,您topic自己为空,这就是异常/错误的原因。

也进行检查topic!=null

于 2012-08-21T10:17:05.100 回答
2

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

于 2012-08-21T10:17:31.077 回答
2

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

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

}
于 2012-08-21T10:17:38.907 回答