编写高质量代码的50条黄金守则-Day 03(首选is或as而不是强制类型转换)
本文由 比特飞 原创发布,欢迎大家踊跃转载。 转载请注明本文地址: https://www.byteflying.com/archives/6710 。 编写高质量代码的50条黄金守则-Day 03(首选is或as而不是强制类型转换),本文由比特飞原创发布,转载务必在文章开头附带链接: https://www.byteflying.com/archives/6710 该系列文章由比特飞原创发布,计划用半年时间写完全50篇文章,为大家提供编写高质量代码的一般准则。 1、概述 在 .net 中包含三种基本的类型转换,is 操作符转换,as 操作符转换,强制类型转换,这三种类型转换各有不同却又各有联系。使用不当,可能引发 NullPointerException 异常或 InvalidCastException 异常。本文将通过一些演示案例为大家一探究竟。 2、通过反编译查看IL,探究类型转换的本质 接下来,我们先来准备环境: namespace EffectiveCoding03 { public class Program { public class TypeBase { } public class TypeSub : TypeBase { } public class TypeThree { } public static void Main(string[] args) {