C# .NET - 介绍 - C#.NET的类型
C#类型系统初步介绍和内置类型
C# 是一种强类型语言。 每个变量和常量都有一个类型,每个求值的表达式也是如此。 每个方法声明都为每个输入参数和返回值指定名称、类型和种类(值、引用或输出)。 .NET 类库定义了内置数值类型和表示各种构造的复杂类型。 其中包括文件系统、网络连接、对象的集合和数组以及日期。 典型的 C# 程序使用类库中的类型,以及对程序问题域的专属概念进行建模的用户定义类型。

类型中可存储的信息包括以下项:

类型变量所需的存储空间。
可以表示的最大值和最小值。
包含的成员(方法、字段、事件等)。
继承自的基类型。
它实现的接口。
允许执行的运算种类。


编译器使用类型信息来确保在代码中执行的所有操作都是类型安全的。 例如,如果声明 int 类型的变量,那么编译器允许在加法和减法运算中使用此变量。 如果尝试对 bool 类型的变量执行这些相同操作,则编译器将生成错误
int a = 5;
int b = a + 2; //OK

bool test = true;

// Error. Operator '+' cannot be applied to operands of type 'int' and 'bool'.
//以下语句将报错
int c = a + test;
C 和 C++ 开发人员请注意,在 C# 中,bool 不能转换为 int。

内置类型
C# 提供了一组标准的内置类型。 这些类型表示整数、浮点值、布尔表达式、文本字符、十进制值和其他数据类型。 还有内置的 string 和 object 类型。 这些类型可供在任何 C# 程序中使用。

自定义类型
可以使用 struct、class、interface、enum 和 record 构造来创建自己的自定义类型。 .NET 类库本身是一组自定义类型,以供你在自己的应用程序中使用。 默认情况下,类库中最常用的类型在任何 C# 程序中均可用。 其他类型只有在显式添加对定义这些类型的程序集的项目引用时才可用。 编译器引用程序集之后,你可以声明在源代码的此程序集中声明的类型的变量(和常量)。

下表列出了 C# 内置值类型:
C# 类型关键字 - .NET 类型
bool - System.Boolean
byte - System.Byte
sbyte - System.SByte
char - System.Char
decimal - System.Decimal
double - System.Double
float - System.Single
int - System.Int32
uint - System.UInt32
nint - System.IntPtr
nuint - System.UIntPtr
long - System.Int64
ulong - System.UInt64
short - System.Int16
ushort - System.UInt16

下表列出了 C# 内置引用类型:
C# 类型关键字 - .NET 类型
object - System.Object
string - System.String
dynamic - System.Object

在上表中,左侧列中的每个 C# 类型关键字(dynamic 除外)都是相应 .NET 类型的别名。 它们是可互换的。

void 关键字表示缺少类型。 将其用作不返回值的方法的返回类型。
收藏 列表

评论: