多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## **C#变量** 变量是用于存储和表示数据的标识符,在声明变量时,需要指定变量的类型,并且可以选择性地分配一个初始值。 | 类型 | 举例 | | --- | --- | | 整数类型 | sbyte、byte、short、ushort、int、uint、long、ulong 和 char | | 浮点型 | float, double | | 十进制类型 | decimal | | 布尔类型 | true 或 false 值,指定的值 | | 空字符串 | string | | 空类型 | 可为空值的数据类型 ## **变量的定义** 变量定义的语法: ~~~ <data_type> <variable_list>; // 举例 int i, j, k; char c, ch; float f, salary; double d; ~~~ ### **变量的命名规则** * 变量名可以包含字母、数字和下划线。 * 变量名区分大小写。 * 变量名必须以字母或下划线开头。 * 避免使用 C# 的关键字作为变量名。 ## **变量的初始化** 变量通过在等号后跟一个常量表达式进行初始化(赋值)。 ~~~ variable_name = value; ~~~ ## **接收来自用户的值** system 命名空间中的Console类提供一个函数ReadLine(),用于接收来自用户的输入。 ~~~ int num; num = Convert.ToInt32(Console.ReadLine()); ~~~ 函数`Convert.ToInt32`把用户输入的数据转换为int类型,因为ReadLine()只接受字符串格式的数据。 ## C#中的Lvalues和Rvalues 1. **lvalue**:lvalue 表达式可以出现在赋值语句的左边或右边。 1. **rvalue**:rvalue 表达式可以出现在赋值语句的右边,不能出现在赋值语句的左边。 ## **变量作用域** 变量的作用域定义了变量的可见性和声明周期。 ### **局部变量** 在方法、循环、条件语句等代码块内声明的变量是局部变量。 ``` voidMyMethod() { intlocalVar = 10;// 局部变量 // ... } // localVar 在这里不可见 ``` ### **块级作用域** 在C# 7 及更高版本,引入了块级作用域,即用`{}`创建的任何块都可以定义变量的作用域。 ``` { intblockVar = 20;// 块级作用域 // ... } // blockVar 在这里不可见 ``` ### **方法参数作用域** 在整个方法中都是可见的。 ``` voidMyMethod(intparameter) { // parameter 在整个方法中可见 // ... } ``` ### **全局变量** 在类的成员级别定义的变量是成员变量,在整个类中可见,如果在命名空间级别定义,那么在整个命名空间中可见。 ``` classMyClass { intmemberVar = 30;// 成员变量,在整个类中可见 } ``` ### **静态变量作用域** 静态变量是在类级别上声明的,但它们的作用域也受限于其定义的类。 ``` classMyClass { staticintstaticVar = 40;// 静态变量,在整个类中可见 } ``` ### **循环变量作用域** 在 for循环中声明的循环变量在循环体内可见。 ``` for(int i = 0; i < 5; i++) { // i 在循环体内可见 } // i 在这里不可见 ```