代码改变世界

《C#本质论》读书笔记(五)

2010-07-21 16:03  张抗  阅读(489)  评论(2)    收藏  举报
控制流

控制流语句

----------------------------------------------------------------------------------------------------------------

   语   句                                                     常规语法结构                                                  示   例

----------------------------------------------------------------------------------------------------------------

if语句                                                if(boolean-expression)                               if(input=="quit")

                                                       embedded-statement                                System.Console.WriteLine("Game end");

----------------------------------------------------------------------------------------------------------------

if-else语句                                         if(boolean-expression){代码块}      if(input=="quit"){System.Console.WriteLine("Game end");}

                                                        else      {代码块}                             else { GetNextMove();}

----------------------------------------------------------------------------------------------------------------

 

还有while语句.do while语句.for语句.foreach语句.continue语句.switch语句.break语句.goto语句.

在这里不做详细介绍,太多了 如果不了解的自己复制关键字去谷歌.MSDN上查.

 

 

 

作用域

      作用域(scope)是指出一个代码块或者语言结构约束起来的分层上下文.C#禁止在同一作用域内出现两个同名的声明.例如,在一个代码块中,不能定义两个同名的局部变量,代码块限定了作用域.类似地,不可以在同一个类中定义两个名为Main()的方法.

      作用域是分层的.假定现在有一个方法,方法内部有一个if语句块,那么不可以先在方法这一层上定义一个局部变量,再在if语句块中定义一个同名的新变量.换言之,你声明的第一个变量的作用域跨越了方法内定义的所有代码块的作用域.然而,if块中声明的变量与else块中声明的变量不在同一个作用域中.除此之外,由于方法限定了局部变量的作用域,所以同一个局部变量名称可以在另一个方法中使用.

       作用域限制了可访问性.例如,一个局部变量不可以在定义它的方法外部访问.类似的,如果一个变量是在if块内定义的,就不能在if块的外部访问,即使是从同一个方法中访问.