as和is这两个关键字在C#中还是比较常见的,比如说如果你想判断一个数据的类型是否是你指定的类型,那么可以考虑使用is这个关键字,它会返回一个bool值,如果是则为true,反之则是false。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace MyTest
{class Program{static void Main(string[] args){object nNum = "123";if(nNum is int){Console.WriteLine("nNum是int类型");}else{Console.WriteLine("nNum不是int类型");}Console.ReadKey();}}
}

as关键字在使用的时候需要注意以下几点:

1.不能用于类型与类型之间的转换,编译的时候会出现错误;如下所示:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace MyTest
{class Program{static void Main(string[] args){int nNum = 123;string str = nNum as string;Console.ReadKey();}}
}

2.as关键字必须用于引用类型或者可以为null的类型值,如下所示,用于int类型转换,编译器便会报错。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace MyTest
{class Program{static void Main(string[] args){object obj = 123;int nNum = obj as int;Console.WriteLine(nNum);Console.ReadKey();}}
}

3.用as关键字进行转换时,所要转换对象的类型必须是目标类型或者是目标类型的派生类型

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace MyTest
{public class Animal{public void Breath(){Console.WriteLine("动物呼吸");}    }public class Hourse : Animal { }class Program{static void Main(string[] args){Hourse h = new Hourse();Animal a = h as Animal;a.Breath();Console.ReadKey();}}
}

转载于:https://www.cnblogs.com/QingYiShouJiuRen/p/11351220.html

C#中的as和is的使用方法相关推荐

  1. 搜集《ASP.NET中常用的26个优化性能方法》

    1. 数据库访问性能优化 a.数据库的连接和关闭 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源.ASP.NET中提供了连接 ...

  2. linux 统计日志数量总,shell统计日志中时间段内匹配的数量的方法

    shell统计日志中时间段内匹配的数量的方法,有需要的朋友可以参考下. 假设日志文件mtasvr.log格式如下: T:24583088(04:02:06)[root:Info] 6KqowLDLAg ...

  3. C#中判断空字符串的3种方法性能分析【月儿原创】

    C#中判断空字符串的3种方法性能分析 作者:清清月儿 主页:http://blog.csdn.net/21aspnet/           时间:2007.4.28  3种方法分别是:string ...

  4. jquery.ajax的url中传递中文乱码问题的解决方法

    jquery.ajax的url中传递中文乱码问题的解决方法 JQuery JQuery默认的contentType:application/x-www-form-urlencoded 这才是JQuer ...

  5. java判断一个对象是否为空_Java中判断对象是否为空的方法的详解

    首先来看一下工具StringUtils的判断方法: 一种是org.apache.commons.lang3包下的: 另一种是org.springframework.util包下的.这两种StringU ...

  6. java 中lock,java中lock获取锁的四种方法

    在java接口中会存放着许多方法,方便线程使用时的直接调用.对于lock接口大家都不陌生,我们已经初步对概念进行了理解.那么在获取锁的方法上想必还不是很清楚.下面我们就lock获取锁的四种方法分别进行 ...

  7. web前端培训:CSS中单行文本溢出显示省略号的方法

    CSS中单行文本溢出显示省略号的方法你知道吗?在web前端技术学习中,这个问题其实是属于老生常谈了,因为css单行文本的应用是非常频繁的,比如网站最基本的文章列表,标题会很长,而显示列表的区域宽度却没 ...

  8. Struts2中action接收参数的三种方法及ModelDriven跟Preparable接口结合JAVA反射机制的灵活用法...

    Struts2中action接收参数的三种方法及ModelDriven跟Preparable接口结合JAVA反射机制的灵活用法 www.MyException.Cn   发布于:2012-09-15 ...

  9. 数据科学中常见的9种距离度量方法

    选自towardsdatascience 作者:Maarten Grootendorst 机器之心编译 编辑:陈萍 在数据挖掘中,我们经常需要计算样本之间的相似度,通常的做法是计算样本之间的距离.在本 ...

  10. Linux系统中运行.sh文件的几种方法

    在Linux系统中执行.sh文件的几种方法: 1. cd到.sh文件所在的目录,然后执行./xxx.sh   [前提:该./sh文件要有可执行的权限,chmod u+x xxx.sh]  2. 在任何 ...

最新文章

  1. oracle显示多表数据,Oracle DB 使用连接显示多个表中的数据
  2. 淘宝爆出的异常...
  3. 系统如何启动数据库服务器,怎么启动sql数据库服务器
  4. POJ 3045 Cow Acrobats (最大化最小值)
  5. ArcGIS制图技巧系列(1)还原真实的植被
  6. 跨界造智能机器人,娃哈哈能“喝”出新辉煌吗
  7. github使用命令
  8. xcode动态改变窗口大小_[SwiftUI 100天] 在 SwiftUI 中动态过滤 @FetchRequest
  9. MyBatis教程看这一篇就够啦,简单又全面(IDEA版)
  10. 2013年上半年CSDN精华0分下载资源
  11. java使用poi制作的ppt被损坏_poi操作ppt创建表格,结果却是这样?
  12. SqlServer 获取工作日(周六、周日休息,周六日不休息,周六不休息)
  13. 【服务器搭建个人网站】附:接入的服务商 以及 安全评估报告该如何填写?
  14. 切线空间(Tangent Space) 的计算与应用
  15. Java 基础篇--字符串
  16. 有关服装流水线成功的话题
  17. 学会善于总结,善于表达
  18. 爬取链家二手房交易数据
  19. 第6章 TCP/IP路由协议故障处理
  20. android 很多牛叉界面库github地址

热门文章

  1. .net core精彩实例分享 -- 泛型和集合
  2. 微软重新设计 Edge for Android 的用户界面
  3. 在C#中使用反射的简单例子
  4. ikun 潜入?疑似 B 站后台源码泄露
  5. 微软开源数据处理引擎 Trill,每天可分析万亿次事件
  6. 计算机组装的理论知识,计算机组装基本知识点.ppt
  7. js取thymeleaf值_26、模板引擎thymeleaf
  8. vue-quill-editor 获取无法获取光标位置
  9. TP5.1 查询数据库中上一条和下一条记录
  10. matlab gui 制动程序设计,Matlab的GUI程序设计程序.doc