ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
**隐式类型转换**\- 这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失。例如,从小的整数类型转换为大的整数类型,从派生类转换为基类。 下表显示了预定义的隐式数值转换。 隐式转换可能在多种情形下发生,包括调用方法时和在赋值语句中。 | 原类型 | 目标类型| | --- | --- | | sbyte| short、int、long、float、double 或 decimal | | byte | short、ushort、int、uint、long、ulong、float、double 或 decimal | | short | int、long、float、double 或 decimal | | ushort| int、uint、long、ulong、float、double 或 decimal | | int| long、float、double 或 decimal | | uint| long、ulong、float、double 或 decimal | | long| float、double 或 decimal | | char| ushort、int、uint、long、ulong、float、double 或 decimal | | float| double| | ulong| float、double 或 decimal | ## 备注 * 从int, uint, long,或 ulong 转换到 float 以及 long或ulong 转换到double时可能会丢失精度 * 不存在到 char 类型的隐式转换。 * 不存在浮点型与 decimal 类型之间的隐式转换。 * int 类型的常数表达式可转换为 sbyte、byte、short、ushort、uint 或 ulong,前提是常数表达式的值处于目标类型的范围之内。 例子: ``` int i=999; long j=i; ```