这两种方法都有效,但这是使用以下方法的更好方法:
PlaceHolder PH = ctl.PlaceHoldNu == 1 ? (PlaceHolder)Page.Master.FindControl("PlaceHolder1") : (PlaceHolder)FindControl("PlaceHolder" + ctl.PlaceHoldNu);
或者
PlaceHolder PH;
if (ctl.PlaceHoldNu == 1)
PH = (PlaceHolder)Page.Master.FindControl("PlaceHolder1");
else
PH = (PlaceHolder)FindControl("PlaceHolder" + ctl.PlaceHoldNu);
答案 0 :(得分:6)
另一种解决方案是:
PlaceHolder PH = ctl.PlaceHoldNu == 1
? (PlaceHolder)Page.Master.FindControl("PlaceHolder1")
: (PlaceHolder)FindControl("PlaceHolder" + ctl.PlaceHoldNu);
此解决方案使用最少的行但保持可读性。
答案 1 :(得分:4)
这是一个品味问题。但是,如果它们太长,我宁愿第二个。但在此之前,我觉得这很好看:
PlaceHolder PH =
ctl.PlaceHoldNu == 1
? (PlaceHolder)Page.Master.FindControl("PlaceHolder1")
: (PlaceHolder)FindControl("PlaceHolder" + ctl.PlaceHoldNu);
答案 2 :(得分:0)
最好的是你喜欢使用的那个。
他们会编译成同样的东西,所以它取决于上下文。哪一个使你想要做的事情的目的更明确?
答案 3 :(得分:0)
对于这种情况,我喜欢第一个,因为我觉得它更具可读性和简洁性。
比这更复杂,你的第二种方法将是首选方法。
但这与正确的
一样,都是你自己的品味答案 4 :(得分:0)
我通常只在赋值时使用条件运算符(就像你已经完成的那样),但只有当它们简单易读时才会使用。
为了便于阅读,你的作业长度会让我偏爱第二名。
如果您认为以前从未查看过代码,那么基本上最容易解析的是。