如何检查是否存在局部变量?

时间:2017-06-12 19:30:12

标签: c# variables

对于C#程序员来说,这个问题听起来很奇怪,但有一种方法(或好方法)可以检查局部变量是否存在?例如(不是真正的代码,而只是为了显示上下文):

TagBuilder name = new TagBuilder("span");
name.InnerHtml.Append("John");
if (Session.IsMaster()) {
    TabBuilder container = new TagBuilder("label");
    container.InnerHtml.Append("Our Master of Universe, ");
    container.InnerHtml.AppendHtml(name);
}


return var_exists(container)? container : name;

可以用C#做​​吗?还是有另一种方法可以做到这一点?

1 个答案:

答案 0 :(得分:-1)

您应该将container的声明移出if-block,以便可以在块之外使用:

TagBuilder name = new TagBuilder("span");
name.InnerHtml.Append("John");

TabBuilder container = null;
if (Session.IsMaster()) {
    container = new TagBuilder("label");
    container.InnerHtml.Append("Our Master of Universe, ");
    container.InnerHtml.AppendHtml(name);
}

return container ?? name;

??是空合并运算符,可以解释为:

container != null ? container : name