C#知识|语法拾遗:数据类型转换

2024-08-23 17:28

本文主要是介绍C#知识|语法拾遗:数据类型转换,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

哈喽,你好啊,我是雷工!
其实关于数据转换在任何语言中都会涉及,无论是PLC编程语言,还是SCADA开发中的脚本语言,都会涉及,在前边学习JavaScript的内容时,也看过相关内容:
JavaScript|获取数据类型、类型转换》、
JavaScript|这些隐式转换类型你知道吗?》;
而不同编程语言之间很多内容都是相通的,基本原理都类似,都在相互借鉴彼此比较好的内容;
因此在学会一种语言后,在学习另一种语言会比较容易上手。
接下来继续查漏补缺,夯实基础,学习C#中数据类型转换相关的内容,以下为学习笔记。

01 自动类型转换

一般是值类型之间的转换,精度低的可以自动转换成精度高的;
引用类型到object类型是可以直接转换的,但是实际项目中要避免此种转换;
例如:int可以自动转换成double;

02 强制类型转换

情况1
值类型间强制转换;
语法:(类型名)表达式;
示例:
double A=11.11;
int B=22;
int C =(int)A+B;//实现强制类型转换,将double转换成int,此种方式精度会丢失,小数部分会直接去掉;

输出结果C=33;
情况2
字符串和值类型之间转换;
语法:类型.Parse("字符串")
注意事项
字符串转换成值类型时需要要求字符串得是目标值类型的形式;
示例:
double A=double.Parse("333.33");//有效形式
float B=float.Parse("33.3");//有效形式
int C=int.Parse("33");//有效形式
int D=int.Parse("雷工笔记");//非有效形式
int E=int.Parse("333.33");//非有效形式

情况3
将值类型转换成字符串类型;
语法:直接使用ToString()方法;
示例:
double A=444.44;
string B=A.ToString();//B=="444.44"

03 万能转换器

通过Convert转换;
Convert命令可进行显示转换汇总:
命令 
结果
Convert.ToBoolean(val)
val转换为bool
Convert.ToByte(val)
val转换为byte
Convert.ToChar(val)
val转换为char
Convert.ToDecimal(val) 
val转换为decimal
Convert.ToDouble(val)  
val转换为double
Convert.ToInt16(val) 
val转换为short
Convert.ToInt32(val) 
val转换为int
Convert.ToInt64(val)
val转换为long
Convert.ToSByte(val) 
val转换为sbyte
Convert.ToSinggle(val)
val转换为float
Convert.ToString(val) 
val转换为string
Convert.ToUInt16(val) 
val转换为ushort
Convert.ToUInt32(val)
val转换为uint
Convert.ToUInt64(val) 
val转换为ulong
还有一些情况,例如值类型转换时,用Convert.ToInt32()将浮点数转换成整数时,会四舍五入小数部分,但当小数部分正好是0.5时,需要看整数部分是奇数还是偶数,如果是奇数则进1,如果是偶数则直接舍去小数部分;

04 后记

实际使用过程中可以根据实际情况选择合适的转换法方式,以实用为主,能够满足要求即可,没有优劣之分;
有记录的不足之处欢迎大家在评论区留言指正,更多相关话题也可以在交流群探讨。

这篇关于C#知识|语法拾遗:数据类型转换的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1100022

相关文章

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

pandas数据的合并concat()和merge()方式

《pandas数据的合并concat()和merge()方式》Pandas中concat沿轴合并数据框(行或列),merge基于键连接(内/外/左/右),concat用于纵向或横向拼接,merge用于... 目录concat() 轴向连接合并(1) join='outer',axis=0(2)join='o

批量导入txt数据到的redis过程

《批量导入txt数据到的redis过程》用户通过将Redis命令逐行写入txt文件,利用管道模式运行客户端,成功执行批量删除以Product*匹配的Key操作,提高了数据清理效率... 目录批量导入txt数据到Redisjs把redis命令按一条 一行写到txt中管道命令运行redis客户端成功了批量删除k

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

C#中lock关键字的使用小结

《C#中lock关键字的使用小结》在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时,其他线程无法访问同一实例的该代码块,下面就来介绍一下lock关键字的使用... 目录使用方式工作原理注意事项示例代码为什么不能lock值类型在C#中,lock关键字用于确保当一个线程位于给定实例的代码块中时

C# $字符串插值的使用

《C#$字符串插值的使用》本文介绍了C#中的字符串插值功能,详细介绍了使用$符号的实现方式,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧... 目录$ 字符使用方式创建内插字符串包含不同的数据类型控制内插表达式的格式控制内插表达式的对齐方式内插表达式中使用转义序列内插表达式中使用

C#中的Converter的具体应用

《C#中的Converter的具体应用》C#中的Converter提供了一种灵活的类型转换机制,本文详细介绍了Converter的基本概念、使用场景,具有一定的参考价值,感兴趣的可以了解一下... 目录Converter的基本概念1. Converter委托2. 使用场景布尔型转换示例示例1:简单的字符串到

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

java如何实现高并发场景下三级缓存的数据一致性

《java如何实现高并发场景下三级缓存的数据一致性》这篇文章主要为大家详细介绍了java如何实现高并发场景下三级缓存的数据一致性,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 下面代码是一个使用Java和Redisson实现的三级缓存服务,主要功能包括:1.缓存结构:本地缓存:使