VisualC#编程入门之语句

发表于:2007-06-21来源:作者:点击数: 标签:
程序的活动是通过语句(statement)来表达的。C#支持几种不同的语句,许多语句是以嵌入语句的形式定义的。 块(block)允许在只能使用单个语句的上下文中编写多个语句。块由一个括在大括号“{}”内的语句列表组成。 声明语句(declaration statement)用于声

   
  程序的活动是通过语句(statement)来表达的。C#支持几种不同的语句,许多语句是以嵌入语句的形式定义的。


  块(block)允许在只能使用单个语句的上下文中编写多个语句。块由一个括在大括号“{}”内的语句列表组成。


  声明语句(declaration statement)用于声明局部变量和常量。


  表达式语句(expression statement)用于运算表达式。表达式可以作为语句使用译注3,包括方法调用、使用new运算符进行对象分配、使用“=”和复合赋值运算符进行赋值,以及使用“++”和“--”运算符进行增量和减量的运算。


  选择语句(selection statement)用于根据某个表达式的值,选择执行若干可能语句中的某一个。这一组语句有if和switch语句。


  迭代语句(iteration statement)用于重复执行嵌入语句。这一组语句有while,do,for和foreach语句。


  跳转语句(jump statement)用于传递程序控制。这一组语句有break,continue,goto,throw和return语句。


  try-catch语句用于捕捉在块的执行期间发生的异常。并且,try-finally语句用于指定一个终止代码块,不管异常出现与否,它总是被执行。


  checked和unchecked语句用于控制整型算术运算和转换的溢出检查上、下文。


  lock语句用于获取给定对象的互斥锁,执行语句,然后释放该锁。


  using语句用于获取一个资源,执行一个语句,然后处理该资源。


  表1.5列出了C#的语句,并逐个提供了示例。


  表1.5 C#的语句




















语    句

示    例

局部变量声明

static void Main(){

  int a; 

  int b=2,c=3;

  a=1;

  Console.WriteLine(a+b+c);

 }

局部常量声明

static void Main(){

  const float pi=3.1415927f; 

  const int r=25;

  Console.WriteLine(pi * r * r);

 }

表达式语句

static void Main(){

  int i;

  i=123;                   //表达式语句

  Console.WriteLine(i);     //表达式语句

  i++;                       //表达式语句

  Console.WriteLine(i);     //表达式语句

 }

if语句

static void Main(string[] args){

  if(args.Length == 0){

    Console.WriteLine("No arguments");

  }

  else{

    Console.WriteLine("One or more arguments");

  }

 }

 

(续表)
































语    句

示    例

switch语句

static void Main(string[] args){

  int n = args.Length;

  switch(n){

    case 0:

      Console.WriteLine("No arguments");

      break;

    case 1:

      Console.WriteLine("One argument");

      break;

    default:

      Console.WriteLine("{0} arguments", n);

      break;

   }

 }

while语句

static void Main(string[] args){

  int i = 0;

  while(i < args.Length){

    Console.WriteLine(args[i]);

    i++;

  }

 }

do语句

static void Main(){

  string s;

  do{

    s = Console.ReadLine();

    if(s!=null)  Console.WriteLine(s);

  } while(s != null);

 }

for语句

static void Main(string[] args){

  for(int i = 0; i < args.Length; i++){

    Console.WriteLine(args[i]);

  }

 }

foreach语句

static void Main(string[] args){

  foreach(string s in args){

    Console.WriteLine(s);

  }

 }

break语句

static void Main(){

  while(true){

    string s = Console.ReadLine();

    if (s == null) break;

    Console.WriteLine(s);

  }

 }

continue语句

static void Main(string[] args){

  for(int i = 0; i < args.Length; i++){

    if (args[i].StartsWith("/")) continue;

    Console.WriteLine(args[i]);

  }

 }

goto语句

static void Main(string[] args){

  int i = 0;

  goto check;

  loop:

  Console.WriteLine(args[i++]);

  check:

  if (i < args.Length) goto loop;

 }


(续表)























语    句

示    例

return语句

static int Add(int a, int b){

  return a + b;

}

static void Main(){

  Console.WriteLine(Add(1, 2));

  return;

}

throw和try语句

static double Divide(double x, double y) {

  if (y == 0) throw new DivideByZeroException();

  return x / y;

}

static void Main(string[] args){

  try{

    if (args.Length !=2){

      throw new Exception("Two numbers required");

    }

    double x = double.Parse(args[0]);

    double y = double.Parse(args[1]);

    Console.WriteLine(Divide(x, y));

  }

  catch (Exception e) {

    Console.WriteLine(e.Message);

  }

}

checked和unchecked语句

static void Main(){

  int i = int.MaxValue;

  checked {

    Console.WriteLine(i + 1);  //异常

  }

  unchecked {

    Console.WriteLine(i + 1);  //溢出

  }

 }

lock语句

class Aclearcase/" target="_blank" >ccount

{

  decimal balance;

  public void Withdraw(decimal amount) {

    lock(this) {

      if (amount > balance) {

        throw new Exception("Insufficient funds");

      }

      balance -= amount;

    }

  }

}

using语句

static void Main(){

  using (TextWriter w = File.CreateText("test.txt")) {

    w.WriteLine("Line one");

    w.WriteLine("Line two");

    w.WriteLine("Line three");

  }

 }

原文转自:http://www.ltesting.net

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
...