C#第四课:类型转换

前言

        上一课中我们讲到了数据类型,在实际运用过程中,会有很多变量类型需要进行转换的场景,这时候我们就需要用到类型转换。类型转换(Type Conversion)是将一个数据类型转换为另一个数据类型的过程,类型转换包括隐式转换、显式转换和常见的类型转换方法

1.隐式转换(Implicit Conversion)

        隐式转换是指在不需要显式指定的情况下,编译器自动完成的转换,这种转换通常发生在不丢失数据的情况下,即从小范围的数据类型转换为大范围的数据类型。

        

图1  隐式转换关系

2.显式转换(Explicit Conversion)

        显式转换是指将一个较大范围的数据类型转换为较小范围的数据了形式,或将一个对象转换为另一个对象时,需要使用强制类型转换符号进行显式转换。显式转换也可称为强制类型转换。

            ushort shortFeild = 72;
            int num;
            shortFeild = num; //会报错
            shortFeild = (ushort)num;

3.类型转换方法

序号方法描述
1ToBoolean如果可以的话,把类型转换为布尔型
2ToByte把类型转为字节类型
3ToChar如果可能的话,吧类型转换为单个Unicode字符类型
4ToDateTime把类型(整数或字符串)转换为日期-时间结构
5ToDecimal把浮点型或整数类型转换为十进制类型
6ToDouble把类型转换为双精度浮点型。
7ToInt16把类型转换为 16 位整数类型
8ToInt32把类型转换为 32 位整数类型。
9ToInt64把类型转换为 64 位整数类型。
10ToSbyte把类型转换为有符号字节类型。
11ToSingle把类型转换为小浮点数类型。
12ToString把类型转换为字符串类型。
13ToType把类型转换为指定类型。
14ToUInt16把类型转换为 16 位无符号整数类型。
15ToUInt32把类型转换为 32 位无符号整数类型。
16ToUInt64把类型转换为 64 位无符号整数类型。

这些方法是定义在System.Convert类中,使用时需要包含System,他们提供了一种安全的方式执行类型转换,因为它可以处理Null值,并且如果转换不能进行则会抛出异常。

string str = "123";
int number = Convert.ToInt32(str); // 转换成功,number为123

4.Parse方法

        Parse方法用于将字符串转换为对应的数据类型,失败会抛出异常

string str = "123.45";
double d = double.Parse(str);

5.TryParse方法

        类似于Parse,但它不会抛出异常,而是会返回一个布尔值指示转换是否成功

string str = "123.45";
double d;
bool success = double.TryParse(str, out d);

if (success) {
    Console.WriteLine("转换成功: " + d);
} else {
    Console.WriteLine("转换失败");
}

总结:内置的类型转换方法主要通过以下几种方式实现:隐式转换、显式转换(强制转换)、使用 Convert 类的方法、Parse 方法和 TryParse 方法,这些方法广泛应用于不同数据类型之间的转换。进行类型转换时需要注意以下几点:

  • 隐式转换只能将较小范围的数据类型转换为较大范围的数据类型,不能将较大范围的数据类型转换为较小范围的数据类型;
  • 显式转换可能会导致数据丢失或精度降低,需要进行数据类型的兼容性检查;
  • 对于对象类型的转换,需要进行类型转换的兼容性检查和类型转换的安全性检查。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值