C# —— 类型转换

类型转换就是不同变量数据类型之间进行互相转换
隐式转换 : 默认是C#中安全的进行数据转换的方式 一般不会造成数据丢失

相同数据类型之间的隐式转换
有符号 long -> int ->short ->sbyte

long l = 1;
int i = 2;
short s = 3;
sbyte sb = 4;
// 大范围可以装小范围的
l = i;
l = s;
l = sb;
// 无法将long 类型 隐式转换为 int
// 小范围无法装大范围
// i = l;
i = s;
// l可以输出 说明隐式转换成功
Console.WriteLine(l);

无符号 ulong -> uint -> ushort -> byte

ulong ul = 1;
uint ui = 1;
ushort us = 1;
byte b = 1;

无符号的隐式转换 同有符号一样 大范围装小范围 小范围无法装大范围 

 ul = ui;

 浮点数 decimal  double -> float

float f1 = 0.2f;
double d = 0.5;
decimal d1 = 0.8m;

不同变量类型隐式转换

long l2 = 5;
int i2  = 6;
short s2 = 7;
sbyte sb2 = 8;
// 无符号的
ulong ul2 = 10;
uint ui2 = 11;
ushort us2 = 12;
byte b3 = 13;

有符号装无符号
            // 有符号可以装无符号的 但是范围一定是要涵盖的 存在隐式转换

l2 = ui2;
l2 = us2;
l2 = b3; 

无符号装有符号 
            // 无符号的变量 不能隐式转换为有符号的
            // ui2 = sb2;

            // 浮点数 和 有无符号整数之间的转换
            // double -> float -> 所有整数类型(无符号 有符号)

float f3 = 0.5f;
double d5 = 0.6;
decimal dl3 = 0.8m; 

 浮点数 是可以装载任何类型整数的

f3 = l2;
f3 = i2;
f3 = sb2;
f3 = s2;
f3 = ul2;

 特殊类型之间隐式转换

bool类型没有办法和其他类型进行隐式转换 

bool t3 = true;
char c3 = 'A';
string str2 = "sdajsan";
string str3 = "123";

 char类型 可以隐式转换为整数类型 浮点型
            对应的数字是ASCII码表 
            计算机中 数据的存储是二进制存储的 字符 中文 英文 标点符号 在计算机中就是一个二进制的数字 一个字符 对应一个数字  ASCII码就是对应关系

l2 = c3;
ul2 = c3;
Console.WriteLine(l2);
Console.WriteLine(ul2);

 总结

高精度(大范围) 可以装 低精度(小范围)
            // double -> float -> 整数(无符号 有符号) -> char
            // decimal -> 整数(无符号 有符号) -> char
            // string bool 是不参与隐式转换规则的
            // 有符号不可以隐式转换为无符号的
            // 无符号可以隐式转换为在涵盖范围内的有符号的

相关推荐

  1. C++的类型转换

    2024-06-12 09:54:04       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-12 09:54:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-12 09:54:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-12 09:54:04       82 阅读
  4. Python语言-面向对象

    2024-06-12 09:54:04       91 阅读

热门阅读

  1. python数据处理分析库(一)

    2024-06-12 09:54:04       29 阅读
  2. 设计模式-命令模式

    2024-06-12 09:54:04       33 阅读
  3. android 相机判断水平

    2024-06-12 09:54:04       31 阅读
  4. 多个AAR打包成一个AAR

    2024-06-12 09:54:04       35 阅读
  5. C++之 delete删除拷贝构造函数和拷贝赋值运算符

    2024-06-12 09:54:04       31 阅读
  6. 第一章:SQL简单基础的法则

    2024-06-12 09:54:04       30 阅读
  7. 【Unity】控制人物左右移动和跑步的实现

    2024-06-12 09:54:04       37 阅读
  8. 鱼香肉丝ROS一键安装

    2024-06-12 09:54:04       22 阅读
  9. 力扣题解 >>> 二叉树

    2024-06-12 09:54:04       23 阅读
  10. 15、架构-可靠通讯之服务安全

    2024-06-12 09:54:04       34 阅读