📅  最后修改于: 2023-12-03 14:40:28.084000             🧑  作者: Mango
在 C# 中,数据类型是用于声明变量或方法参数的关键词。C# 中的所有类型都从 System.Object
类型继承。本文将介绍 C# 中常见的数据类型。
值类型表示变量直接存储值,它的值被存储在内存的栈上。可以通过值类型来声明变量、字段和方法参数。以下是 C# 中的一些常见值类型:
整型表示没有小数部分的数字,C# 中包含以下整型类型:
sbyte
:有符号 8 位整数,范围从 -128 到 127。byte
:无符号 8 位整数,范围从 0 到 255。short
:有符号 16 位整数,范围从 -32,768 到 32,767。ushort
:无符号 16 位整数,范围从 0 到 65,535。int
:有符号 32 位整数,范围从 -2,147,483,648 到 2,147,483,647。uint
:无符号 32 位整数,范围从 0 到 4,294,967,295。long
:有符号 64 位整数,范围从 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。ulong
:无符号 64 位整数,范围从 0 到 18,446,744,073,709,551,615。可以使用如下代码示例声明整型变量:
int a = 10;
long b = 4000000000;
浮点型表示有小数部分的数字,C# 中包含以下浮点型类型:
float
:单精度浮点数,范围为 -3.4 × 10^38 到 3.4 × 10^38,精度为 7 位小数。double
:双精度浮点数,范围为 -1.7 × 10^308 到 1.7 × 10^308,精度为 15-16 位小数。decimal
:高精度十进制数,精度为 28 位小数。可以使用如下代码示例声明浮点型变量:
float a = 3.14f;
double b = 123456.789;
decimal c = 19.95m;
引用类型表示变量存储的是值的地址。变量的值被分配在堆上,而变量本身则被分配在栈上。以下是 C# 中常见的引用类型:
类型是 C# 中最常见的引用类型。它们表示对象的数据结构,有实例变量和方法。可以定义自己的类,也可以使用 .NET Framework 中的类。
可以使用如下代码示例声明类型变量:
string str = "Hello World!";
数组是一组元素的有序集合。数组的元素可以是任意类型。可以使用以下代码示例声明数组变量:
int[] arr = { 1, 2, 3, 4 };
string[] strArr = new string[3] { "cat", "dog", "bird" };
指针是一个变量,它存储了另一个变量的地址。指针可以用于在程序中直接访问内存单元。指针在 C# 中没有直接支持,但可以使用 unsafe
关键词来创建指针。
可以使用如下代码示例声明指针变量:
unsafe {
int x = 10;
int* p = &x;
}
除了值类型和引用类型之外,C# 还有一些特殊类型。
枚举类型表示一组常量值。枚举类型中的每个常量都具有一个与之关联的整数值。
可以使用如下代码示例声明枚举类型变量:
enum Colors {
Red,
Green,
Blue
}
Colors myColor = Colors.Red;
结构体是一种轻量级的类,它可以包含实例变量和方法。在结构体中,变量被存储在堆栈中,而不是堆中。结构体通常用于存储简单的数据类型。
可以使用如下代码示例声明结构体变量:
struct Point {
public int x;
public int y;
}
Point p = new Point();
p.x = 10;
p.y = 20;
委托类型代表一个安全的函数指针。委托可以用于封装方法,并在需要时动态调用它们。
可以使用如下代码示例声明委托类型变量:
public delegate void MyDelegate(string message);
MyDelegate myDelegate = Console.WriteLine;
myDelegate("Hello World!");
本文介绍了 C# 中常见的数据类型,包括值类型、引用类型和特殊类型。熟悉和理解这些数据类型对于编写高质量的 C# 代码非常重要。