文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>C# 语言规范 语句

C# 语言规范 语句

时间:2011-01-10  来源:zhanqi

  • 程序的操作是使用语句 (statement) 来表示的。C# 支持几种不同的语句,其中许多以嵌入语句的形式定义。

  • 块 (block) 用于在只允许使用单个语句的上下文中编写多条语句。块由位于一对大括号 { 和 } 之间的语句列表组成。

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

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

  • 选择语句 (selection statement) 用于根据表达式的值从若干个给定的语句中选择一个来执行。这一组语句有 if 和 switch 语句。

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

  • 跳转语句 (jump statement) 用于转移控制。这一组语句有 break、continue、goto、throw、return 和 yield 语句。

  • try...catch 语句用于捕获在块的执行期间发生的异常,try...finally 语句用于指定终止代码,不管是否发生异常,该代码都始终要执行。

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

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

  • using 语句用于获得一个资源,执行一个语句,然后释放该资源。

  • 下表列出了 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; // Expression statement 
              Console.WriteLine(i); // Expression statement 
              i++; // Expression statement 
              Console.WriteLine(i); // Expression statement 
          }

      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;
          }

      yield 语句

          static IEnumerable<int> Range(int from, int to)
          {
              for (int i = from; i < to; i++)
              {
                  yield return i;
              }
              yield break;
          }
      
          static void Main()
          {
              foreach (int x in Range(-10, 10))
              {
                  Console.WriteLine(x);
              }
          }

      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);
              }
              finally
              {
                  Console.WriteLine("Good bye!");
              }
          }

      checked 和 unchecked 语句

          static void Main()
          {
              int i = int.MaxValue;
              checked
              {
                  Console.WriteLine(i + 1); // Exception 
              }
              unchecked
              {
                  Console.WriteLine(i + 1); // Overflow 
              }
          }

      lock 语句

          class Account
          {
              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");
              }
          }
  • 相关阅读 更多 +
    排行榜 更多 +
    辰域智控app

    辰域智控app

    系统工具 下载
    网医联盟app

    网医联盟app

    运动健身 下载
    汇丰汇选App

    汇丰汇选App

    金融理财 下载