当前位置: 首页 > news >正文

C#的数据类型转换

目录

C#的数据类型转换

1.隐式转换

2.显式转换

3.Convert类

4.字符串解析


       本篇文章来分享一下C#的数据类型转换,主要包括四种方法:隐式转换、显式转换、Convert类、字符串解析。

C#的数据类型转换

1.隐式转换

       隐式转换是在不丢失数据的情况下由编译器自动进行的转换,一般是小类型自动转换为大类型

总结:

1.当多种类型变量参与运算时,会产生类型提升,即自动类型转换/隐式转换,

2.转换规则:一般有小类型自动转换为大类型

   有decimal类型时,结果为decima类型,

   有double类型时,结果为double类型,

   有float类型时,结果为float类型,

   有long类型时,结果为long类型,

   其他情况结果为int类型(char类型,枚举类型可以隐式转换为int类型)

3.浮点型和decimal类型不存在隐式转换

//隐式转换
short s = 23;
int i = s;char c = '1';
int iC = c;long mylong = 2;
float f = mylong;

2.显式转换

       显式转换时手动指定的转换,适用于可能丢失数据的情况,一般是大类型强制转换为小类型

注意:

1.显示转换可能造成精度丢失

2.浮点型和decimal类型必须显示转换

3.非整型只能显示转换为整型

//显示转换
float myF = 6.6f;
int myI = (int)myF;decimal myD = (decimal)myF;

3.Convert类

       Convert类提供了一种安全的通用转换方法,如果转换失败,会抛出异常,确保可以进行错误处理。Convert类将string转换为数值类型,或将数值转换为string

//Convert
//1.将string转换为数值类型
string myString = "123";
int myInt = Convert.ToInt32(myString);
double myDouble = Convert.ToDouble(myString);//2.将数值转换为string
int age = 18;
string str = Convert.ToString(age);

4.字符串解析

       字符串解析指字符串到基本类型的转换,可以使用Parse或TryParse方法。

       Parse:将字符串转换为基本数据类型,如果失败会抛出异常。

       TryParse:安全地尝试转换,返回布尔值表示是否成功。

//字符串解析
//1.Parse:将字符串转换为基本数据类型,如果失败会抛出异常。
string pString = "123";
int pInt = int.Parse(pString);//2.TryParse:安全地尝试转换,返回布尔值表示是否成功。
bool success = int.TryParse(pString, out myInt);

       好了,本次的分享到这里就结束啦,希望对你有所帮助!

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 电商API的创新应用与高效数据采集策略实践
  • Python用TOPSIS熵权法重构粮食系统及期刊指标权重多属性决策MCDM研究|附数据代码...
  • 【代码随想录Day25】回溯算法Part04
  • vue Echart使用
  • 数据结构之——栈
  • 【LeetCode周赛】第 416 场
  • layui时间选择器选择周 日月季度年
  • java.nio.ByteBuffer的 capacity, limit, position, mark
  • 【计算机网络强化】计网强化笔记
  • 【计算机网络 - 基础问题】每日 3 题(二十二)
  • GP2D12红外距离传感器
  • MiniCPM3-4B | 笔记本电脑运行端侧大模型OpenBMB/MiniCPM3-4B-GPTQ-Int4量化版 | PyCharm环境
  • 分库分表-分页排序查询
  • Android开发高频面试题之——Android篇
  • 0-Mapbox简介及产品类型
  • 【Leetcode】104. 二叉树的最大深度
  • 【刷算法】求1+2+3+...+n
  • CentOS 7 防火墙操作
  • css的样式优先级
  • in typeof instanceof ===这些运算符有什么作用
  • PHP的类修饰符与访问修饰符
  • 回顾 Swift 多平台移植进度 #2
  • 前端性能优化——回流与重绘
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 一份游戏开发学习路线
  • const的用法,特别是用在函数前面与后面的区别
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • ​Java基础复习笔记 第16章:网络编程
  • ​学习一下,什么是预包装食品?​
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • (7)摄像机和云台
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (iPhone/iPad开发)在UIWebView中自定义菜单栏
  • (js)循环条件满足时终止循环
  • (二)测试工具
  • (二开)Flink 修改源码拓展 SQL 语法
  • (七)Knockout 创建自定义绑定
  • (贪心 + 双指针) LeetCode 455. 分发饼干
  • (五)IO流之ByteArrayInput/OutputStream
  • (一)插入排序
  • (已解决)什么是vue导航守卫
  • (游戏设计草稿) 《外卖员模拟器》 (3D 科幻 角色扮演 开放世界 AI VR)
  • (转)大型网站架构演变和知识体系
  • .bat批处理(七):PC端从手机内复制文件到本地
  • .NET Core 将实体类转换为 SQL(ORM 映射)
  • .NET Micro Framework 4.2 beta 源码探析
  • .Net MVC + EF搭建学生管理系统
  • .NET 线程 Thread 进程 Process、线程池 pool、Invoke、begininvoke、异步回调
  • .NET(C#、VB)APP开发——Smobiler平台控件介绍:Bluetooth组件
  • .NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉
  • .NET和.COM和.CN域名区别
  • .NET连接MongoDB数据库实例教程
  • .NET轻量级ORM组件Dapper葵花宝典