C#中关键字、注释、声明变量和i++、++i和除法以及取余

C#中关键字

在C#中,关键字是预定义的保留字,它们具有特殊的意义和用途,不能用作标识符(如变量名、类名等)。以下是一些常用的C#关键字:

  1. 访问修饰符

    • public:定义一个公共访问的成员。

    • private:定义一个私有访问的成员。

    • protected:定义一个受保护的成员。

    • internal:定义一个在同一程序集内部可访问的成员。

    • protected internal:定义一个在同一程序集或派生类中可访问的成员。

    • private protected:定义一个在同一类及其派生类中可访问的成员。

  2. 类型

    • bool:布尔类型。

    • byte:8位无符号整数。

    • sbyte:8位有符号整数。

    • char:16位Unicode字符。

    • decimal:128位十进制浮点数。

    • double:64位双精度浮点数。

    • float:32位单精度浮点数。

    • int:32位有符号整数。

    • uint:32位无符号整数。

    • long:64位有符号整数。

    • ulong:64位无符号整数。

    • short:16位有符号整数。

    • ushort:16位无符号整数。

    • object:表示任何类型的对象。

  3. 流程控制

    • if:条件语句。

    • else:条件语句的否定分支。

    • switch:多路分支语句。

    • caseswitch语句中的一个分支。

    • defaultswitch语句中的默认分支。

    • while:循环语句。

    • dowhile循环的变体。

    • for:基于索引的循环语句。

    • foreach:用于遍历集合的循环语句。

    • break:跳出循环。

    • continue:跳过当前循环的剩余部分。

    • goto:跳转到代码中的指定标签。

    • return:从方法返回值。

    • throw:抛出异常。

    • try:开始异常处理块。

    • catch:捕捉异常。

    • finally:无论是否抛出异常都会执行的代码块。

  4. 类和对象

    • class:定义一个类。

    • struct:定义一个结构体。

    • enum:定义一个枚举类型。

    • interface:定义一个接口。

    • namespace:定义一个命名空间。

  5. 属性和索引器

    • property:定义一个属性。

    • indexer:定义一个索引器。

  6. 方法和事件

    • delegate:定义一个委托。

    • event:定义一个事件。

  7. 其他

    • abstract:声明一个抽象成员。

    • as:执行安全的类型转换。

    • base:引用基类成员。

    • const:声明一个常量。

    • fixed:固定内存中变量的位置。

    • stackalloc:在栈上分配内存。

    • is:类型检查操作符。

    • lock:同步锁定。

    • out:声明一个输出参数。

    • override:覆盖基类中的虚方法。

    • params:定义一个参数数组。

    • readonly:声明一个只读字段。

    • sealed:防止类或方法被继承。

    • sizeof:获取类型的内存大小。

    • this:引用当前对象。

    • typeof:获取类型的 System.Type 对象。

    • unchecked:禁用溢出检查。

    • unsafe:允许使用不安全代码。

    • using:引入命名空间或实现 IDisposable 接口的类型。

    C#中的声明变量

    在C#中,声明变量是为程序中的值分配存储空间和指定类型的过程。变量的声明通常包括三个部分:类型、名称和可选的初始值。以下是声明变量的基本语法:

    类型 变量名;

    或者在声明时初始化变量:

    类型 变量名 = 初始值;

    这里是一个具体的例子:

    int myNumber; // 声明一个整数类型的变量 myNumber
    myNumber = 10; // 为变量 myNumber 赋值
    ​
    string myString = "Hello, World!"; // 声明并初始化一个字符串类型的变量 myString
    ​
    bool isFinished = false; // 声明并初始化一个布尔类型的变量 isFinished

    在C#中,变量的类型非常重要,因为它决定了变量可以存储的数据类型以及可以对变量执行的操作。C#是静态类型语言,这意味着每个变量在编译时必须有明确的类型。

    以下是一些常用的数据类型和它们的声明示例:

    1. 数值类型

      • int:整数

      • double:双精度浮点数

      • float:单精度浮点数

      • decimal:用于精确计算的小数

      • long:长整数

      • byte:无符号整数

      • short:短整数

      • uint:无符号整数

      • ulong:无符号长整数

      • sbyte:有符号整数(8位)

      • ushort:无符号短整数

    2. 字符和字符串

      • char:单个字符

      • string:字符串(字符序列)

    3. 布尔类型

      • bool:布尔值(truefalse

    4. 引用类型

      • object:所有类的基类

      • List<T>:泛型列表

      • Dictionary<TKey, TValue>:泛型字典

    5. 可空类型

      • int?:可空的整数类型,可以存储 intnull

      • double?:可空的双精度浮点数类型

    6. 结构体和类

      • MyStruct:用户定义的结构体

      • MyClass:用户定义的类

    在声明变量时,还可以使用 var 关键字来让编译器推断变量的类型,这在本地变量的声明中特别有用:

    var myVariable = 10; // 编译器推断 myVariable 为 int 类型

    使用 var 时,变量的类型将根据初始化表达式的类型自动确定。这使得代码更加简洁,尤其是在变量类型很明显的情况下。但是,过度使用 var 可能会降低代码的可读性

C#中的i++和++i以及i--和--i

在C#中,i++++i 以及 i----i 是递增和递减运算符的不同形式,它们用于修改变量的值。这些运算符通常用于循环和递增/递减变量的场景中。下面是它们的区别:

  1. 后缀递增(i++)

    • i++ 被称为后缀递增运算符。

    • 在表达式中,它会返回变量 i 的原始值,然后 i 的值增加1。

    • 通常用于循环中,当你需要在循环中使用变量的当前值,并且希望在操作后递增变量。

    int i = 0;
    Console.WriteLine(i++); // 输出 0
    Console.WriteLine(i);   // 输出 1

  2. 前缀递增(++i)

    • ++i 被称为前缀递增运算符。

    • 在表达式中,它会先将变量 i 的值增加1,然后返回新值。

    • 通常用于当你需要在操作前递增变量,并且使用递增后的值。

    int i = 0;
    Console.WriteLine(++i); // 输出 1
    Console.WriteLine(i);   // 输出 1

  3. 后缀递减(i--)

    • i-- 被称为后缀递减运算符。

    • 在表达式中,它会返回变量 i 的原始值,然后 i 的值减少1。

    • 通常用于循环中,当你需要在循环中使用变量的当前值,并且希望在操作后递减变量。

    int i = 0;
    Console.WriteLine(i--); // 输出 0
    Console.WriteLine(i);   // 输出 -1

  4. 前缀递减(--i)

    • --i 被称为前缀递减运算符。

    • 在表达式中,它会先将变量 i 的值减少1,然后返回新值。

    • 通常用于当你需要在操作前递减变量,并且使用递减后的值。

    int i = 0;
    Console.WriteLine(--i); // 输出 -1
    Console.WriteLine(i);   // 输出 -1

C#中的除法和取余

在C#中,除法和取余是两种基本的算术运算符,用于处理数值类型的数据。

  1. 除法运算符 (/):

    • 用于将一个数除以另一个数。

    • 结果是两个数相除后的商。

    • 如果操作数是整数类型,结果也将是整数,且会向下取整(即舍去小数部分)。

    • 如果操作数中至少有一个是浮点类型(floatdoubledecimal),结果将是浮点数。

    int a = 10;
    int b = 3;
    int result = a / b; // 结果是 3
    ​
    double c = 10.0;
    double d = 3.0;
    double resultF = c / d; // 结果是 3.3333333333333335

  2. 取余运算符 (%):

    • 用于计算两个数相除后的余数。

    • 结果是除法运算后的余数。

    • 同样,如果操作数是整数类型,结果也将是整数。

    • 如果操作数是浮点类型,结果将是浮点数。

    int a = 10;
    int b = 3;
    int remainder = a % b; // 结果是 1
    ​
    double c = 10.0;
    double d = 3.0;
    double remainderF = c % d; // 结果是 1.0

在使用这些运算符时,需要注意以下几点:

  • 除数不能为零,否则会引发 DivideByZeroException 异常。

  • 在使用整数进行除法运算时,如果结果不是整数,则小数部分会被舍去,而不是四舍五入。

  • 在使用浮点数进行除法运算时,结果将保留小数部分。

  • 取余运算符在数学上有一些特殊的性质,例如 -5 % 3 的结果是 1,因为 -5 除以 3 的商是 -2,余数是 1

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值