Logo
Section 1 / 8

变量和数据类型

让我们来了解 C# 中的基本数据类型和变量类型。

导入

变量和数据类型

让我们来了解 C# 中的基本数据类型和变量类型。

什么是变量?

变量是计算机内存中一个命名的位置,用于存储信息以供后续使用。变量中的信息可以改变,也可以在需要时被使用。可以把变量想象成一个带名字的盒子;盒子的内容可以变化,但盒子的名字保持不变。

什么是数据类型?

变量中的内容可以具有不同的数据类型。数据类型声明了变量中所包含信息的类型。数据类型有很多种类,例如 string 用于表示文本(如 "Hello World"),而 integer 用于表示数字(如 54),这些数字可用于数学运算。

变量操作

变量操作是指创建变量、赋值以及更新值的过程。下面我们来学习 C# 中的变量操作。

如何声明一个变量?

在下面的例子中,声明了一个名为 myStringName 的 string 类型变量。声明变量就像是创建一个空的、带名字的盒子。

1string myStringName;

如何给变量赋值?

1string myStringName = "Hello";

此时,变量 myStringName 中包含了值 "Hello"。

1myStringName = "Hello again";

在上面的例子中,值被更改为 "Hello again",但并未再次声明数据类型。

1string myStringName = "Hello"; // 声明并赋值 2Console.WriteLine(myStringName); 3 4myStringName = "Hello again"; // 重新赋值 5Console.WriteLine(myStringName);

数值类型示例

让我们看看以下数值类型的一些例子:

1int numOne = 5; 2Console.WriteLine(numOne); 3 4float numTwo = 2.55f; // 声明 float 类型时,数值后需加 "f" 5Console.WriteLine(numTwo); 6 7double numThree = 3.33; 8Console.WriteLine(numThree); 9 10decimal numFour = 4.66m; // 声明 decimal 类型时,数值后需加 "m" 11Console.WriteLine(numFour);

什么是 var 数据类型?

为了避免混淆,最好在声明变量时明确指定数据类型。不过,也可以使用 var 数据类型,编译器会自动推断出应使用的类型。

1var theWord = "hello"; // 声明为 string 类型,并赋值 "hello" 2Console.WriteLine(theWord); 3 4var theNumber = 5; // 声明为 int 类型,并赋值 5 5Console.WriteLine(theNumber);

一旦给 var 变量赋值后,其数据类型就不能再更改。在上面的例子中,我们无法将整数赋给 theWord 变量。在第一行之后,它只能接受字符串类型的值。

C# 数据类型的内存分配与取值范围

每种数据类型在声明时都会占用特定数量的内存。最小的单位是位(bit),8 个位组成一个字节(byte)。

下表列出了几种常见的数据类型及其占用的字节数、取值范围和示例。

数据类型字节数范围示例
byte10–2557
short2-32,768–32,767-10
int4-2,147,483,648–2,147,483,64712
long8-9,223,372,036,854,775,808–9,223,372,036,854,775,807-54
sbyte1-128–1275
ushort20–65,5357
uint40–4,294,967,2959
ulong80–18,446,744,073,709,551,61511
float4表示最多 7 位有效数字的浮点数12.3
double8表示最多 16 位有效数字的浮点数12.35
decimal16表示最多 29 位有效数字的浮点数12.356
bool1布尔逻辑类型(只能是 True 或 False)True
char2一个单一的 Unicode 字符H
string可变字符序列Hello

整数类型可分为有符号类型和无符号类型。有符号类型可以表示正数或负数,而无符号类型只能表示非负数。

例如,short 是一种有符号类型,其取值范围为 -32,768 到 32,767。如果不需要负数,则将其改为无符号类型(即 ushort),其范围变为 0 到 65,535,正数范围翻倍。

简介

内存类型