我有以下代码:
var topicValue = Model.Topic;
var replaceResult = string.Empty;
if (topicValue != null & topic.Contains(topicValue)) {
}
如果topicValue为null,我的意图是if不执行。但是我收到一条错误消息:
对象引用未设置为对象的实例。
任何人都可以解释我是如何做到这一点的吗?
答案 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)) {
}