Possible Duplicate:
C# - Assignment in an if statement




我发现自己在接下来的多次中

if (e.row.FindControl("myLiteral") is Literal)
{
    (e.row.FindControl("myLiteral") as Literal).Text = "textData";
}


有没有办法替换“ if”部分并简化设置程序:

(e.row.FindControl("myLiteral") <some operator that combines is and as> .text = "textData";


编辑:
我应该在之前提到这个
我想完全删除“如果”。
仅当e.row.FindControl是文字时,“某些运算符”才应在内部执行此操作并设置“ .text”

最佳答案

通常,我不会像这样将它们结合在一起-我要么使用强制类型转换,要么使用as和null检查:

Literal literal = e.row.FindControl("myLiteral") as Literal;
if (literal != null)
{
    literal.Text = "textData";
}

关于c# - 有没有办法在C#中组合“is”和“as” ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7477790/

10-09 13:18