本节向您展示 C# 编程语言中所有可用的内置数据类型列表。C# 程序由许多变量组成。变量无非是赋予内存位置的名称。
在一个内存位置中,我们会不断改变值,所以我们想在该位置存储什么类型的数据,这就是数据类型。根据 C# 数据类型,决定了分配给变量的内存大小以及内存的格式。
在许多情况下,大小可能相同,但格式可能不同。例如:在 C# 语言中,Long 和 Float 内置类型的大小都是 4 字节。然而,数据在内存位置中的存储格式是不同的。
C# 内置数据类型
以下是 C# 编程语言中可用的内置数据类型列表。
C# 布尔数据类型:当我们要存储值 true 或 false 时,使用布尔数据类型。
它只接受 true 或 false。例如,
static void Main()
{
bool b = true;
}
如果我们想问用户,“你住在美国吗?”那么答案应该是 true 或 false。在这种情况下,我们使用 C# 布尔数据类型。
C# 整数类型:没有任何小数部分的数据类型被称为整数类型。
有多种整数数据类型,如 sbyte、byte、short、ushort、int、uint、long、ulong、char。所有这些整数数据类型都能够存储一些数字。
| 类型 | 范围 | 大小 |
|---|---|---|
| sbyte | -128 到 127 | 有符号 8 位整数 |
| byte | 0 到 255 | 无符号 8 位整数 |
| char | U+0000 到 U+ffff | Unicode 16 位字符 |
| short | -32768 到 32,767 | 有符号 16 位整数 |
| ushort | 0 到 65,535 | 无符号 16 位整数 |
| int | -2,147,483,648 到 2,147,483,647 | 有符号 32 位整数 |
| uint | 0 到 4,294,967,295 | 无符号 32 位整数 |
| long | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 | 有符号 64 位整数 |
| ulong | 0 到 18,446,744,073,709,551,615 | 无符号 64 位整数 |
byte:一个 byte 数据类型的变量可以容纳一个介于 0 和 255 之间的数字(256 个值),即一个 8 位整数。
C# 内置的 byte 数据类型包含 8 位,每一位代表 0 或 1。8 位一起代表 28 个不同的值。例如,如果我们想存储“一个人的年龄”的值,byte 类型就足够了。
sbyte:这里的 's' 代表有符号(signed),即包括负值和正值。如上表所示,它可以容纳从 -128 到 127 的数字,也就是 28 (256) 个值。
Int:一个整数类型的变量可以容纳正值和负值。我们已经在给定的表格中显示了它的范围。它可以容纳一个 32 位整数。
例如,如果我们要存储任何国家的人口,我们可能会选择 int,因为它可以容纳一个很大的数字。
人口肯定是一个正数,所以我们可以选择 uint,或者如果它的范围更大,我们可以选择 long 或 ulong。
根据应用程序的需求,我们可以选择不同的类型。但实际上,要记住每种数据类型可以容纳的最小值和最大值是不可能的。
如果您可以访问 MSDN,那很好,但如果不能,您甚至可以从 Visual Studio 中了解到。
我们在这里展示 int 类型的所有属性。

让我给您看一个关于内置数据类型的 C# 代码示例。
using System;
class Program
{
static void Main()
{
Console.WriteLine("Min = {0}", int.MinValue);
Console.WriteLine("Max = {0}", int.MaxValue);
}
}
输出

C# 浮点类型
Float 和 Double 是 C# 中两种浮点内置数据类型。
为了存储精度值(小数点后的数字),我们选择 float 或 double 类型。
| 类型 | 近似范围 | 精度 |
|---|---|---|
| Float | ±1.5e-45 到 ±3.4e38 | 7 位数字 |
| Double | ±5.0e-324 到 ±1.7e308 | 15-16 位数字 |
数据类型 Float 可以存储 32 位浮点值,而 double 可以存储 64 位浮点值。
C# 定点类型
Decimal 是一个定点类型,它拥有 28 位数字的固定精度。它表示一个 128 位的数据类型。对于任何财务计算或科学测量,我们选择 decimal 类型。这是因为 decimal 类型给出的结果非常接近其真实值。
例如,10/3 不是 3。实际值会是像 3.333 这样的数。