📜  C#|转换类别(1)

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

C# | 转换类别

概述

在 C# 中,转换类别(Type Casting)是指将一个数据类型转换为另一个数据类型的过程。C# 提供了多种不同的转换方式来满足程序员的需求。本文将介绍 C# 中常见的转换类别,并提供相应的代码示例。

显式转换(Explicit Casting)

显式转换,也称为强制转换,是指通过强制指定的转换运算符来将一个数据类型转换为另一个数据类型。

sourceType targetVariable = (targetType)sourceVariable;

其中,sourceType表示源数据的类型,targetType表示目标数据的类型,sourceVariable表示源数据,targetVariable表示目标数据。

示例:

int num1 = 10;
double num2 = (double)num1; // 显式转换为 double
隐式转换(Implicit Casting)

隐式转换是指在编译时由编译器自动执行的转换。当目标数据类型可以容纳源数据类型的范围时,编译器会自动进行转换。

示例:

int num1 = 10;
double num2 = num1; // 隐式转换为 double
装箱(Boxing)和拆箱(Unboxing)

装箱是指将一个值类型(如 int、double)转换为一个对象类型(如 object、dynamic)。而拆箱则是将已装箱的对象类型转换回值类型。

装箱示例:

int num = 10;
object boxedNum = num; // 装箱

拆箱示例:

object boxedNum = 10;
int num = (int)boxedNum; // 拆箱
类型转换方法

C# 提供了一些方法来进行类型转换。以下是一些常用的类型转换方法:

  • Convert.ToXxx:将一个对象转换为指定类型的方法。例如:Convert.ToInt32(obj)
  • Parse:将字符串转换为指定类型的方法。例如:int.Parse("123")
  • TryParse:尝试将字符串转换为指定类型的方法,如果转换成功返回 true,否则返回 false,并且目标参数的值被设置为默认值。例如:int.TryParse("123", out int result)
参考资料