一周学C#之第4天——语句

 

一周学C#_4

语句

1          语句

声明语句

表达式语句

是语句的一个无名集合

包含在{}之间

声明语句;//必须要有分号

表达式语句;//必须要有分号

{

       语句;

       语句;

       ...

}//不需要有分号

C#C++Java一样,都可以把声明语句当做普通语句。

换言之,你可以在任何地方使用声明语句,而不必在程序的开头。

一个块定义了一个范围,任何一个在块中声明的变量在块结束时,它就会消失了

2          throw语句

throw语句抛出错误

检查先前定义的条件时非常有用

表达式的类型必须是System.Exception或是它的派生类

string DaySuffix(int days)

{

       if(days<0 || days>31)

       {

              throw new ArgumentOutOfRangeException(“days”);

       }

}

3          return语句

return语句返回一个值

表达式必须匹配返回值的类型

最好一个函数只有一个return语句

使用ruturn;来结束一个void函数

string DaySuffix(int days)

{

       string result;

       ...

       return result;

}

一个函数通过return语句能够返回一个单值。

return语句中的表达式类型必须和函数声明的返回值的类型相同或可以隐式转换为返回值的类型。

如果你要从一个函数中返回多个值,那你可以使用以下方法:

你可以把返回值放在一个结构中;

你可以把返回值放在一个数组或集合类的对象中;

你可以使用在函数中使用out型参数

4          bool

bool是一个关键字

它是System.Boolean的别名

它的取值只能是truefalse

bool love=true;

bool teeth=false;

//正确

System.Boolean love=true;

System.Boolean teeth=false;

//正确

using System;

...

Boolean love=true;

Boolean teeth=false;

//正确

5          布尔型操作符

1          赋值      =

2          等于      ==          !=

3          逻辑                &&         ||           ^     &    |

int tens=(9*6)/13;

int units=(9*6)%13;

bool isFour=tens==4;

bool isTwo=units==2;

bool hhg;

hhg=isFour & isTwo;

hhg=!(isFour & isTwo);

hhg=!isFour | !isTwo;

hhg=!hhg;

6          if语句

        string DaySuffix(int days)

        {

            string result;

            if (days / 10 == 1)

                result = "th";

            else if (days % 10 == 1)

                result = "st";

            else if (days % 10 == 2)

                result = "nd";

            else if (days % 10 == 3)

                result = "rd";

            else

                result = "th";

            return result;

        }

if语句的条件表达式必须是纯粹的bool型表达式。

C#要求所有的变量必须预先明确赋值后才能使用。

C#中,if语句中不能包含变量声明语句。

7          switch语句

用于整数类类型

case后的标志必须是编译时为常数

没有表示范围的缩略形式

        string DaySuffix(int days)

        {

            string result = "th";

            if(days/10!=1)

                switch (days % 10)

                {

                    case 1:

                        result = "st";

                        break;

                    case 2:

                        result="nd";

                        break;

                    case 3:

                        result="rd";

                        break;

                    default:

                        result = "th"; break;

                }

            return result;

        }

case语句,可以对【整型】【字符串】或者【可以隐式转换为整数或字符串的用户自定义类型】使用switch语句。

C#没有VB中的is关键字,可用于case中。

C#中也没有范围比较符。

注意:每一个case段必须包含break语句,default语句也不例外。

8          while/do

            int digit = 0;

            while (digit != 10)

            {

                label2.Text += (digit + "/");

                digit++;

            }  

 

            int digit=0;

            do

            {

                label3.Text += (digit + "/");

                digit++;

            } while (digit != 10);//此处有分号

9          for语句

for块中声明的变量是局部的,只在for块中有效

可以省略for语句中的任何一部分

            for (int digit = 0; digit != 10; digit++)

            {

                label4.Text+=(digit+"/");

            }

for块中声明的变量只在for块中有效。

for块中,多个声明的变量或者多个变化语句,可以用【逗号】分割

10      foreach

来源于VBshellPERL

用于任一集合,包括集合

using System;

using System.Collections.Generic;

using System.Text;

 

namespace ConsoleApplication1

{

    class Program

    {

        static void Main(string[] args)

        {

            foreach (string arg in args)

            {

                Console.Write("{0}", arg);

            }

            Console.WriteLine();

            Console.ReadLine();

        }

    }

}

foreach用来遍历集合或数组中的元素。

11      foreach的几点注意事项

foreach(类型 标识符 in 表达式)

类型和标识符声明一个循环变量

循环变量隐含为readonly,不能有refout修饰

表达式是可列举的集合

要遍历的集合类型的定义规则:(假设集合的名字是C

       C必须定义一个公有函数GetEnumerator(),该函数的返回值是结构类型、类类型、接口类型之一。

       返回值E的定义规则:

              E包含一个公有函数MoveNext(),用来使E指向集合中的下一个元素;返回值的类型是bool

              E包含一个公有属性Current,用来读取当前值,这个属性的类型是集合元素的类型。

12      break/continue

break用来结束一个循环;

continue用来重新启动一个循环

 

 

 

 

 

 

 

posted @ 2009-01-29 16:58  怒杀神  阅读(248)  评论(0编辑  收藏  举报