首页 > 开发 > 综合 > 正文

C# 语言规范--1.6 语句

2024-07-21 02:29:59
字体:
来源:转载
供稿:网友
   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();
    }
}

国内最大的酷站演示中心!
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表