1.5C#语言的语句(Statement)

C#语言的语句往往以 ; 结尾。

1.空语句

空语句只含一个 ; 分号。不执行任何操作,可以在需要语句但不需要执行任何操作的地方使用。

;

2.代码块(block)

代码块是由在分隔符 { 和 } 内编写的语句组成。当代码块内语句为一条语句时,往往可以省略花括号,如果多条语句时,此时一般不省略,需要使用花括号来组织多条语句。

{
    //语句;
}

3.声明(declaration)语句

声明语句用于声明变量和常量等。

类型 标识符 = 值;

4.表达式语句

表达式语句用于计算表达式。

statement_expression;

5.Expression-bodied表达式语句

成员目前支持 方法、只读属性、属性、索引器、构造函数、析构函数。

member => expression;

6.checked和unchecked语句

checkedunchecked 语句用于指定将结果存储在变量中、但该变量过小而不能容纳结果值时,是否允许数值运算导致溢出。

checked 关键字用于显式启用对整型类型算术运算和转换的溢出检查,算术溢出会引发异常。

unchecked 关键字用于抑制整型类型的算术运算和转换的溢出检查,算术溢出异常被忽略且通过丢弃任何不适应目标类型的高序位使结果被截断。

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

7.lock语句

lock 语句用于获取给定对象的相互排斥锁定,执行语句,然后解除锁定。lock 语句用于限制一次仅允许一个线程访问代码块。持有 lock 时,持有 lock 的线程可以再次获取并释放 lock。 阻止任何其它线程获取 lock 并等待释放 lock。

lock (引用类型表达式)
{
    // Your code...
}
class Account
{
    decimal balance;
    public void Withdraw(decimal amount) 
    {
        lock (this) 
        {
            if (amount > balance) 
            {
                throw new Exception("Insufficient funds");
            }
            balance -= amount;
        }
    }
}

8.using语句

using 语句用于定义一个范围,在此范围内获取资源对象,执行语句,在范围的末尾将释放资源对象。

static void Main() 
{
    //在范围内创建对象
    using (TextWriter w = File.CreateText("test.txt")) 
    {
        //使用对象
        w.WriteLine("Line one");
        w.WriteLine("Line two");
        w.WriteLine("Line three");
    //在范围末尾释放对象
    }
}
//支持var局部变量
using (var file = new StreamReader("C:\\myfile.txt")) 
{
    //...
}

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/csharp/csharplang/7883.html

(0)
上一篇 2021年1月5日 23:02
下一篇 2021年1月6日 20:38

相关推荐

  • 3.11C#类型之元组(ValueTuple)值类型和元组(Tuple)引用类型

    1.元组声明和初始化 元组提供了简洁的语法来将多个数据元素组合在一个轻型数据结构里。 通过声明 ( 和 ) 之间的成员的类型和名称来实例化元组。 2.访问成员 3.析构(Deconstruct)元组 析构的过程恰恰与元组的声明和初始化相反,析构是将已存在的元组析构成多个单独的变量…

    C#语言教程 2021年3月11日
    06020
  • 2.6C#函数成员之索引器(Indexer)

    1.索引器声明 索引器的声明方式与属性相似,格式为索引器名称 this 后跟 分隔符 [ 和 ] 以及单个或多个参数。 2.访问器 类似于属性,索引器分为读写、只读和只写索引器。 3.接口中的索引器 接口访问器不使用修饰符。 接口访问器通常没有实现,仅指示索引…

    C#语言教程 2021年2月6日
    03270
  • 3.9C#引用类型之特性(Attribute)

    1.特性声明 所有特性类都直接或间接派生自 System.Attribute 基类。 以下示例声明了 HelpAttribute 特性。 2.调用特性 调用特性时,通过用方括号 ([]) 将特性名称以及实参括起来,并置于应用该特性的实体的声明上方。可以将多个特性附加到实体的声明上。对于给定实体,一些…

    C#语言教程 2021年3月9日
    02080

发表回复

登录后才能评论