📜  C#-数据类型(1)

📅  最后修改于: 2023-12-03 14:40:28.084000             🧑  作者: Mango

C# 数据类型

在 C# 中,数据类型是用于声明变量或方法参数的关键词。C# 中的所有类型都从 System.Object 类型继承。本文将介绍 C# 中常见的数据类型。

1. 值类型

值类型表示变量直接存储值,它的值被存储在内存的栈上。可以通过值类型来声明变量、字段和方法参数。以下是 C# 中的一些常见值类型:

1.1 整型

整型表示没有小数部分的数字,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;
1.2 浮点型

浮点型表示有小数部分的数字,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;
2. 引用类型

引用类型表示变量存储的是值的地址。变量的值被分配在堆上,而变量本身则被分配在栈上。以下是 C# 中常见的引用类型:

2.1 类型

类型是 C# 中最常见的引用类型。它们表示对象的数据结构,有实例变量和方法。可以定义自己的类,也可以使用 .NET Framework 中的类。

可以使用如下代码示例声明类型变量:

string str = "Hello World!";
2.2 数组

数组是一组元素的有序集合。数组的元素可以是任意类型。可以使用以下代码示例声明数组变量:

int[] arr = { 1, 2, 3, 4 };
string[] strArr = new string[3] { "cat", "dog", "bird" };
2.3 指针

指针是一个变量,它存储了另一个变量的地址。指针可以用于在程序中直接访问内存单元。指针在 C# 中没有直接支持,但可以使用 unsafe 关键词来创建指针。

可以使用如下代码示例声明指针变量:

unsafe {
    int x = 10;
    int* p = &x;
}
3. 特殊类型

除了值类型和引用类型之外,C# 还有一些特殊类型。

3.1 枚举类型

枚举类型表示一组常量值。枚举类型中的每个常量都具有一个与之关联的整数值。

可以使用如下代码示例声明枚举类型变量:

enum Colors {
    Red,
    Green,
    Blue
}

Colors myColor = Colors.Red;
3.2 结构体

结构体是一种轻量级的类,它可以包含实例变量和方法。在结构体中,变量被存储在堆栈中,而不是堆中。结构体通常用于存储简单的数据类型。

可以使用如下代码示例声明结构体变量:

struct Point {
    public int x;
    public int y;
}

Point p = new Point();
p.x = 10;
p.y = 20;
3.3 委托类型

委托类型代表一个安全的函数指针。委托可以用于封装方法,并在需要时动态调用它们。

可以使用如下代码示例声明委托类型变量:

public delegate void MyDelegate(string message);
MyDelegate myDelegate = Console.WriteLine;
myDelegate("Hello World!");
4. 总结

本文介绍了 C# 中常见的数据类型,包括值类型、引用类型和特殊类型。熟悉和理解这些数据类型对于编写高质量的 C# 代码非常重要。