9、C 类型转换与表达式详解

C# 类型转换与表达式详解

1. 类型转换

类型转换在编程中是一个常见的操作,C# 提供了多种类型转换方式,包括标准隐式转换、标准显式转换以及用户自定义转换。

1.1 标准隐式转换

标准隐式转换包含装箱转换和隐式常量表达式转换,但不包括用户自定义的隐式转换。

1.2 标准显式转换

标准显式转换是所有标准隐式转换加上存在相反标准隐式转换的显式子集。也就是说,如果存在从类型 A 到类型 B 的标准隐式转换,那么就存在从类型 A 到类型 B 以及从类型 B 到类型 A 的标准显式转换。

1.3 用户自定义转换

C# 允许通过在类和结构体类型中声明转换运算符来扩展预定义的隐式和显式转换。

  • 允许的用户自定义转换

    • S 和 T 是不同的类型。
    • S 或 T 是声明运算符的类或结构体类型。
    • S 和 T 都不是对象或接口类型。
    • T 不是 S 的基类,S 也不是 T 的基类。
  • 用户自定义转换的评估

    1. 找到将考虑用户自定义转换运算符的类和结构体集合。该集合由源类型及其基类、目标类型及其基类组成。
    2. 从该类型集合中,确定哪些用户自定义转换运算符适用。对于一个转换运算符要适用,必须能够从源类型到运算符的参数类型执行标准转换,并且必须能够从运算符的
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值