我知道一般只有一行,就可以不加,第2行直接写, 多行的话要加,但是我试验了下多行也可以不加, c#里是根据if后面的;判断呢网上查了一下,貌似c语言,java和.net对if的编译都不一样,有的不加大括号, 会以为 if()就结束了,会自动编译一个;但c#里好像不会,我试验了下,怎么写都正常执行,即使写成多行,不加{}也行
if (int.Parse(ztid) > 0)
{
strZt = MenuClass.GetZtName(int.Parse(ztid));
Literal1.Text = "专题:" + strZt;
}这样也正常执行。。 if (int.Parse(ztid) > 0)
strZt = MenuClass.GetZtName(int.Parse(ztid)); Literal1.Text = "专题:" + strZt;这样也可以 if (int.Parse(ztid) > 0)
strZt = MenuClass.GetZtName(int.Parse(ztid));
Literal1.Text = "专题:" + strZt;这样怎么都能运行呢?
if (int.Parse(ztid) > 0)
{
strZt = MenuClass.GetZtName(int.Parse(ztid));
Literal1.Text = "专题:" + strZt;
}这样也正常执行。。 if (int.Parse(ztid) > 0)
strZt = MenuClass.GetZtName(int.Parse(ztid)); Literal1.Text = "专题:" + strZt;这样也可以 if (int.Parse(ztid) > 0)
strZt = MenuClass.GetZtName(int.Parse(ztid));
Literal1.Text = "专题:" + strZt;这样怎么都能运行呢?
除非前面出现异常 抛出,你后面那句 无论怎么样都执行。
你把if 后面那句写成 return;看看下面的还执行不?
汗~~~~~~~~~~
如果前面出现了异常就不会执行下面的!不过你的加try{}catch(){}
如果你return啦!后面的肯定不会执行啊!
如果 if (int.Parse(ztid) <0)改成小于0
那你就只能运行 这句了 Literal1.Text = "专题:" + strZt;
后面的语句,是属于if外面的
strZt = MenuClass.GetZtName(int.Parse(ztid)); //这句是当if后面的表达式为true时执行Literal1.Text = "专题:" + strZt; //这句与if无关,属于if语句以后的代码了
strZt = MenuClass.GetZtName(int.Parse(ztid));
事实上若int.Parse(ztid) > 0为假,是不会运行
strZt = MenuClass.GetZtName(int.Parse(ztid));后面那句是Literal1.Text = "专题:" + strZt;
是无论是否为真都会运行的,这好好想想吧!呵呵