c#图解教程_第十六章_转换
2021/8/18 20:06:18
本文主要是介绍c#图解教程_第十六章_转换,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
转换
定义;转换是接受一个类型的值并使用它作为另一个类型的等价值过程
转换后的值和源值一样的,但其类型为目标类型。
隐式转换和显式转换
隐式转换
显式转换和强制转换
定义:高精度往低精度数据类型转换时,需要使用显式转换
溢出上下文检测
定义:检测某些数值类型转化的过程中是否有数据溢出可使用关键字checked
装箱和拆箱
装箱
定义:值类型转换为引用类型的操作称之为装箱,装箱的本质是创建副本
装箱的其实是在创建引用副本,任何类型都可被隐式的转换为Object类型(装箱)
拆箱
定义:值类型转换为引用类型的操作称之为拆箱
PS:尝试将一个值拆成非原始类型时会抛出一个InvalidCastException异常:指定的转换无效
装箱和拆箱的意义:在使用非泛型的函数方法接受参数时,可以用Object类型通过装箱和拆箱操作获取到任意类型的参数
用户自定义转化
定义:为用户类和结构定义提供隐式和显示转换
class Person{ public string Name; public int Age; public Person(string name,int age) { Name = name; Age = age; } public static implicit operator int(Person p) { return p.Age; } public static implicit operator Person(int i) { return new Person("Nemo",i); } class Program{ static void Main(){ Person bill = new Person("bill",25); } //把Person对象转换为Int int age = bill; Console.WriteLine($"Person Info :{bill.Name},{age}"); //把int转化为Person对象 Person anno = 35; Console.WriteLine($"Person Info {anno.Name} ,{anno.Age}") } //输出结果: Person Info:bill,25 Person Info Nemo,35
is运算符
定义:用于检测类型之间是否可以相互转换,判断返回是一个bool值
as运算符
定义:作用类似于强制转换运算符,只是它不抛出异常,如果转换失败,它返回null而不是抛出异常
as运算符语法
Expr as TargetType
这篇关于c#图解教程_第十六章_转换的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2022-03-01沐雪多租宝商城源码从.NetCore3.1升级到.Net6的步骤
- 2024-11-15C#中怎么从PEM格式的证书中提取公钥?-icode9专业技术文章分享
- 2024-11-14云架构设计——如何用diagrams.net绘制专业的AWS架构图?
- 2024-05-08首个适配Visual Studio平台的国产智能编程助手CodeGeeX正式上线!C#程序员必备效率神器!
- 2024-03-30C#设计模式之十六迭代器模式(Iterator Pattern)【行为型】
- 2024-03-29c# datetime tryparse
- 2024-02-21list find index c#
- 2024-01-24convert toint32 c#
- 2024-01-24Advanced .Net Debugging 1:你必须知道的调试工具
- 2024-01-24.NET集成IdGenerator生成分布式全局唯一ID