C# 向下转型 和 is运算符
c# is 运算符 转型 向下
2023-09-11 14:20:51 时间
向下类型转换:
由低层次类型转换为高层次类型称为向上类型转换,向上类型转换是自动进行的比如吧int型变量赋值给long型变量,把long型变量赋给double型变量,转换都是自动进行的,有派生类转换为基类也是向上提升,也是自动进行的,
但转换后,基类的引用符不能引用派生类对象特有的函数,想要调用派生类特有的函数,必须将someone的类型强制为派生类,这种有基类向派生类张的过程称为向下类型转换。
只有由基类向派生类转换是才能强制向下转换,否则程序会抛出异常,所有转换之前我们用is运算符进行检查。
as运算符用于执行两个引用类型之间的显示转换,他是一种安全的转换,使用前不需要用is运算符测试类型,类型不兼容时,转换的结果是null,而不会抛出异常。
C# 中is运算符判断一个数是否是这个类型,,,
using System;
namespace 写着玩的练习
{
class Program
{
//is 运算符
static void Main(string[] args)
{
double x = 10;
if (x is double)
{
Console.WriteLine("Yes");
}
else
{
Console.WriteLine("No");
}
Console.Read();
}
}
}
当然不止这一种用法,我们还可以用来判断继承关系,,所有派生类的对象都是基类的对象,,,
相关文章
- C#中 ThreadStart和ParameterizedThreadStart区别
- error CS8773: "Feature 'global using directive' is not available in C# 9.0" after downgrade from net6.0 to net5.0
- Is there a way to detect if a browser window is not currently active?
- What is the yield keyword used for in C#?
- C#中缓存的使用 ajax请求基于restFul的WebApi(post、get、delete、put) 让 .NET 更方便的导入导出 Excel .net core api +swagger(一个简单的入门demo 使用codefirst+mysql) C# 位运算详解 c# 交错数组 c# 数组协变 C# 添加Excel表单控件(Form Controls) C#串口通信程序
- C#7.2——编写安全高效的C#代码 c# 中模拟一个模式匹配及匹配值抽取 走进 LINQ 的世界 移除Excel工作表密码保护小工具含C#源代码 腾讯QQ会员中心g_tk32算法【C#版】
- C# DateTime的11种构造函数 [Abp 源码分析]十五、自动审计记录 .Net 登陆的时候添加验证码 使用Topshelf开发Windows服务、记录日志 日常杂记——C#验证码 c#_生成图片式验证码 C# 利用SharpZipLib生成压缩包 Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库
- c# 把一个匿名对象赋值给一个Object类型的变量后,怎么取这个变量? c# dynamic动态类型和匿名类 详解C# 匿名对象(匿名类型)、var、动态类型 dynamic 深入浅析C#中的var和dynamic
- 3.C#知识点:is和as
- C# 什么是子请求,子请求是什么?
- C#博文搜集
- C#【规范篇】命名规范(控件)
- 三次样条插值 C#代码实现
- C#中控件如何设置透明色
- c#中中读取嵌入和使用资源文件的方法
- [C#] Direct2D 学习笔记 (一)vb.net转换为c#
- C# OpencvSharp异常FileNotFoundException具体解决办法
- CreateProcessAsUser,C#写的windows服务弹框提示消息或者启动子进程
- C# Redis Server分布式缓存编程(二)
- [C#]List的Sort()、Find()、FindAll()、Exist()的使用方法举例
- C# ODP.Net oracle数据库操作 支持不安装客户端
- C#中的Attribute和Java中的Annotation
- C#与.NET Framework c#编程语言,和java是一样的。(c#,java) -->javaweb,asp.net