## **隐式类型转换**
隐式转换是指将一个较小范围的数据类型转换为较大范围的数据类型时,编译器会自动完成类型转换,这些转换是 C# 默认的以安全方式进行的转换, 不会导致数据丢失
```
byte b = 10;
int i = b; // 隐式转换,不需要显式转换
```
## **显式转换(强制转换)**
```
int i = 10;
byte b = (byte)i; // 显式转换,需要使用强制类型转换符号
intintValue =123;
stringstringValue = intValue.ToString();// 将 int 转换为字符串
double doubleValue = 3.14;
int intValue = (int)doubleValue; // 强制从 double 到 int,数据可能损失小数部分
int intValue = 42;
float floatValue = (float)intValue; // 强制从 int 到 float,数据可能损失精度
```
## **类型转换方法**
C# 提供了下列内置的类型转换方法:
| 序号 | 方法 & 描述 |
| --- | --- |
| 1 | **ToBoolean** 如果可能的话,把类型转换为布尔型。 |
| 2 | **ToByte** 把类型转换为字节类型。 |
| 3 | **ToChar** 如果可能的话,把类型转换为单个 Unicode 字符类型。 |
| 4 | **ToDateTime** 把类型(整数或字符串类型)转换为 日期-时间 结构。 |
| 5 | **ToDecimal** 把浮点型或整数类型转换为十进制类型。 |
| 6 | **ToDouble** 把类型转换为双精度浮点型。 |
| 7 | **ToInt16** 把类型转换为 16 位整数类型。 |
| 8 | **ToInt32** 把类型转换为 32 位整数类型。 |
| 9 | **ToInt64** 把类型转换为 64 位整数类型。 |
| 10 | **ToSbyte** 把类型转换为有符号字节类型。 |
| 11 | **ToSingle** 把类型转换为小浮点数类型。 |
| 12 | **ToString** 把类型转换为字符串类型。 |
| 13 | **ToType** 把类型转换为指定类型。 |
| 14 | **ToUInt16** 把类型转换为 16 位无符号整数类型。 |
| 15 | **ToUInt32** 把类型转换为 32 位无符号整数类型。 |
| 16 | **ToUInt64** 把类型转换为 64 位无符号整数类型。 |
- Visual Studio 2022安装到非C盘
- .net平台区别
- 常用单词
- 关键字
- 操作符(运算符)
- 标识符(命名规范)
- 开始
- 变量
- 常量
- 数据类型
- 值类型
- 变量数据类型
- 枚举类型enum(常量集合)
- 结构类型struct(结构体)
- 元组类型
- 可null类型(T?)
- 引用类型
- 数组(array)
- 集合(List)
- 内置引用类型
- object
- string
- Dynamic(动态类型)
- delegate委托(代理)类型
- 自定义引用类型
- 接口(interface)
- 类class
- record(定义一个引用类型)
- 指针类型(仅用于非安全代码)
- get和set访问器
- delegate委托
- delegate实现发布订阅与事件
- 类型转换
- 合并操作符??
- 类相关
- Partial 部分类
- 类定义以及访问修饰符(封装)
- abstract抽象类与sealed密封类
- virtual虚方法
- 接口interface
- C# 预处理器指令
- C#技术栈
- 判断(流程控制)与三元运算
- if
- switch
- 三元运算
- 循环
- while 循环
- for循环
- foreach循环
- do...while 循环
- 文件操作
- 其他
- 多开