C# 语言规范--1.6 语句

规范|语句

   C# 中的大多数语句都是直接从 C 和 C++ 借用的,但有一些值得注意的添加和修改。下表列出了可用的语句类型,并提供了每种类型的示例。
    语句 示例

    语句列表和块语句 static void Main() {
    F();
    G();
    {
        H();
        I();
    }
}

    标记语句和 goto 语句 static void Main(string[] args) {
    if (args.Length == 0)
        goto done;
    Console.WriteLine(args.Length);

done:
    Console.WriteLine("Done");
}

    局部常数声明 static void Main() {
    const float pi = 3.14f;
    const int r = 123;
    Console.WriteLine(pi * r * r);
}

    局部变量声明 static void Main() {
    int a;
    int b = 2, c = 3;
    a = 1;
    Console.WriteLine(a + b + c);
}

    表达式语句 static int F(int a, int b) {
    return a + b;
}
static void Main() {
    F(1, 2);  // Expression statement
}

    if 语句 static void Main(string[] args) {
    if (args.Length == 0)
        Console.WriteLine("No args");
    else
        Console.WriteLine("Args");
}

    switch 语句 static void Main(string[] args) {
    switch (args.Length) {
        case 0:
            Console.WriteLine("No args");
            break;
        case 1:
            Console.WriteLine("One arg ");
            break;
        default:
            int n = args.Length;
            Console.WriteLine("{0} args", 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(); }
    while (s != "Exit");
}

    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(string[] args) {
    int i = 0;
    while (true) {
        if (i == args.Length)
            break;
        Console.WriteLine(args[i++]);
    }
}

    continue 语句 static void Main(string[] args) {
    int i = 0;
    while (true) {
       Console.WriteLine(args[i++]);
       if (i < args.Length)
            continue;
       break;
    }
}

    return 语句 static int F(int a, int b) {
    return a + b;
}
static void Main() {
    Console.WriteLine(F(1, 2));
    return;
}

    throw 语句和 try 语句 static int F(int a, int b) {
    if (b == 0)
        throw new Exception("Divide by zero");
    return a / b;
}
static void Main() {
    try {
        Console.WriteLine(F(5, 0));
    }
    catch(Exception e) {
        Console.WriteLine("Error");
    }
}

    checked 和 unchecked 语句 static void Main() {
    int x = Int32.MaxValue;

    Console.WriteLine(x + 1);      // Overflow

    checked {
        Console.WriteLine(x + 1);  // Exception
    }

    unchecked {
        Console.WriteLine(x + 1);  // Overflow
    }
}

    lock 语句 static void Main() {
    A a = ...;
    lock(a) {
        a.P = a.P + 1;
    }
}

    using 语句 static void Main() {
    using (Resource r = new Resource()) {
        r.F();
    }
}

时间: 2024-12-30 11:16:00

C# 语言规范--1.6 语句的相关文章

《Groovy语言规范》-语法

原文链接  译者:王山山 语法 本章节涵盖了Groovy编程语言的语法.Groovy语言的语法源自Java语法,为Groovy增强了特定构造,允许一定程度上的简化语法. 1.注释 1.1.单行注释 单行注释以//开始,在一行中任何位置都可以被发现.//后面的字符,直到一行的末尾都是注释的一部分. // a standalone single line comment println "hello" // a comment till the end of the line 1.2.多行

《Groovy语言规范》-语法(一)

语法 本章节涵盖了Groovy编程语言的语法.Groovy语言的语法源自Java语法,为Groovy增强了特定构造,允许一定程度上的简化语法. 1.注释 1.1.单行注释 单行注释以//开始,在一行中任何位置都可以被发现.//后面的字符,直到一行的末尾都是注释的一部分. // a standalone single line comment println "hello" // a comment till the end of the line 1.2.多行注释 一个多行注释以/*开

JAVA语言规范-线程和锁章节之同步、等待和通知

原文链接  本文是Oracle官方<Java语言规范>的译文 JAVA语言规范:线程和锁 1 同步 JAVA编程语言提供了线程间通信的多种机制.这些方法中最基本的是同步化,此方法是使用监视器实现的.JAVA中每个对象与一个监视器相关联,一个线程可以加锁和解锁监视器.一次仅有一个线程可能在监视器上持有锁.尝试锁住该监视器的任何其他线程被阻塞,直到它们可以再该监视器上获得一个锁.线程t可以多次锁住特别的监视器:每个解锁将一个加锁操作的作用反转来了. synchronized语句计算了一个对象的引用

JAVA语言规范:线程和锁

JAVA语言规范:线程和锁 概述: 前面章节的大多数讨论,都是关于通过单线程一次执行单个语句或者表达式.而JAVA虚拟机可以支持多线程同时执行.这些线程可以独立执行代码操作,而操作后所产生的值会保留在共享内存当中.单处理器和多处理器都能支持多线程,它们都是通过分配CPU时间片来执行代码. 线程由Thread类表示.用户创建线程的唯一方式是创建此类的一个对象:每个线程和这样的一个对象相关.当在相应的Thread对象上调用start()方法是,一个线程将启动. 线程的行为,特别是当不正确同步时,容易

Java语言----三种循环语句的区别介绍_java

第一种:for循环 循环结构for语句的格式:      for(初始化表达式;条件表达式;循环后的操作表达式) { 循环体;   } eg: class Dome_For2{ public static void main(String[] args) { //System.out.println("Hello World!"); //求1-10的偶数的和 int sum = 0; for (int i = 1;i<=10 ; i++ ) { if (i%2 ==0) { //

c语言-C语言怎么通过操作语句来实现操作

问题描述 C语言怎么通过操作语句来实现操作 运行的时候,在dos框输入语句然后实现相应功能..比如我输入addstudent 11这么一个语句就是添加了一个学号为11号的学生,再比如输入deletestudent 12就是删除学号为12的学生等等 解决方案 你要根据输入内容解析出各个部分,然后写一个逻辑去根据解析后的内容去做不同的事 解决方案二: main函数中的args接收参数,进行判断,作相应的操作. 仔细看看c语言的main()的具体使用例子.教材上一般会有的. 解决方案三: 看可不可以写

分清“语言/规范”以及“平台/实现”,以及跨平台.NET开发

在许多年前,"语言"就等同于"平台",例如C,C++以及最早的Ruby和Python等等.但是随着技术发展,出现了一些通用的平台,例如.NET和Java,逐渐这些平台上的语言也越来越多.再后来,某些语言在不同平台上的实现也越来越多,事情也变得有些复杂.技术在发展,但是从目前社区的讨论中,我发现许多朋友的观念还没有跟上.简单地说,如今的观念,一定要从"语言即平台"切换成"语言及平台",当分清"语言"和&quo

让你提前认识软件开发(20):如何在C语言里面执行SQL语句?

第1部分 重新认识C语言 如何在C语言里面执行SQL语句? [文章摘要]         在通信类软件中,程序经常需要与数据库打交道.为了实现诸如从数据库中获取数据.更新数据库表某字段.插入或删除某条数据等功能,就需要在C语言程序中构造一些SQL语句,并用函数来执行这些SQL语句.         本文介绍如何在C语言程序中构造并执行SQL语句,为相关软件开发工作的开展提供了参考. [关键词]          SQL语句  C语言  程序  流程  开发   一.为什么要在C语言程序中执行SQ

Facebook 推出 PHP 语言规范草案

PHP是最广泛使用的脚本语言之一,被数以千万计的网站使用,但直到现在它才有一个正式的语言规范.Facebook工程师和PHP核心开发者 Sara Golemon在上月初举行的OSCON会议上宣布了制定正式规格的计划,现在规格的草案已经发布在Github上. Facebook网站主要是基于PHP语言,过去几年Facebook向PHP贡献了许多开源项目,如虚拟机HHVM,翻译器HPHPc. 传送门(GitHub):https://github.com/php/php-langspec/blob/ma