变量是内存位置的名称。 它用于存储数据。 其值可以更改,可以重复使用多次。
它是通过符号表示存储器位置的方式,以便可以容易地识别。
C# 中的每个变量都有一个特定的类型,它决定了变量内存的大小和布局,可以存储在该存储器中的值的范围以及可应用于该变量的一组操作。
C# 中提供的基本值类型可以分为:
类型 | 示例 |
---|---|
整型 | sbyte, byte, short, ushort, int, uint, long, ulong, 和 char |
浮点型 | float 和 double |
十进制类型 | decimal |
布尔类型 | true 或 false, 作为分配 |
可空类型 | 可空(null )数据类型 |
C# 还允许定义变量的其他值类型,例如:枚举和引用类型的变量,如类,我们将在后续章节中介绍。
定义变量
C# 中变量定义的语法是:
data_type variable_list
这里,data_type
必须是一个有效的 C# 数据类型,包括:char
,int
,float
,double
或任何用户定义的数据类型,而variable_list
可能由一个或多个以逗号分隔的标识符名称组成。
一些有效的变量定义如下所示:
int i, j, k
char c, ch
float f, salary
double d
可以在定义时将变量初始化为:
int i = 1999
初始化变量
变量可以初始化(使用一个等号=
来赋值),后跟一个常量表达式。初始化的一般形式是:
variable_name = value
变量可以在其声明中进行初始化。初始化程序包含一个等号(=
),后跟一个常量表达式为:
<data_type> <variable_name> = value
变量初始化的一些例子:
int d = 3, f = 5 /* initializing d and f. */
byte z = 22 /* initializes z. */
double pi = 3.14159 /* declares an approximation of pi. */
char x = &aposx&apos /* the variable x has the value &aposx&apos. */
正确初始化变量是一个很好的编程实践,否则程序可能会产生意想不到的结果。
以下示例使用各种类型的变量:
using System
namespace VariableDefinition
{
class Program
{
static void Main(string[] args)
{
short a
int b
double c
/* actual initialization */
a = 10
b = 20
c = a + b
Console.WriteLine("a = {0}, b = {1}, c = {2}", a, b, c)
Console.ReadLine()
}
}
}
当编译和执行上述代码时,会产生以下结果:
a = 10, b = 20, c = 30
从用户接受值
System
命名空间中的Console
类提供了一个用于接受用户输入并将其存储到变量中的ReadLine()
函数。
示例
int num
num = Convert.ToInt32(Console.ReadLine())
函数Convert.ToInt32()
将用户输入的数据转换为int
数据类型,因为Console.ReadLine()
函数是接受字符串格式的数据。
C# 中的左值和右值表达式:
C# 中有两种表达式:
- 左值(
lvalue
):一个左值或右值的表达式可表示为左值或右侧。 - 右值(
rvalue
):一个右值表达式可出现在赋值的右侧,而不是左侧。
变量是左值,因此它们可能出现在赋值的左侧。数字文字值是右值,因此它们可能不被赋值,不能出现在左侧。 以下是一个有效的 C# 语句:
int g = 20
但是以下不是有效的语句,并且会生成编译时错误:
10 = 20
定义变量的规则
有关定义变量的规则如下所示 -
- 一个变量可以有字母,数字和下划线。
- 变量名称只能以字母和下划线开头。
- 它不能以数字开头。
- 变量名称内不允许有空格。
- 变量名称不能是任何保留字或关键词。如:
char
,float
等
下面是一些有效的变量名:
int x
int _x
int k20
下面是一些无效的变量名:
int 4
int x y
int double