• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#中is和as用法实例分析

C#中is和as用法实例分析

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c#中is和as,c#中is和as的区别,c#is as,c#中is,c#中is的用法等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

本文实例讲述了C#中is和as的用法,对加深is与as用法的理解有一定的帮助借鉴作用。具体如下:

现来看个例子:

public class User
{
}
public class Group
{
}
class Program
{
    static void Main(string[] args)
    {
      Object oUser = new User();
      Object user = (Group)oUser;
    }
}

</div>

这样会报错(InvalidCastException),由于C#安全机制,它会去判断一次。我们这里做了非法的转换。

Is做判断:is说判断对象是不是你要的那个类型(这里说User)

修改后的示例如下:

class Program
{
    static void Main(string[] args)
    {
      Object obj = new User();
      if (obj is User)
      {
        User user = (User)obj;
      }
    }
}

</div>

这样的话,我们在obj is User这里做了一次判断,我们刚才说了,(User)obj这样的操作(强制转换)编译器还会做一次操作,这样就有性能上面的消耗。来看看AS。

AS操作:如果说改对象就转换,不是则返回null.

class Program
{
    static void Main(string[] args)
    {

      Object obj = new User();

      User user = obj as User;
      if(user==null)
      {
        // handle error
        //....
      }
    }
}

</div>

注:个人比较喜欢用As,简化了操作也提高了性能,做一个NULL判断,直接处理这种异常也说很方便。

希望本文所述方法对大家的C#程序设计能有一定的帮助与借鉴价值。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#中的is和as操作符区别小结
  • C#中is与as的区别分析
  • C#中is和as用法实例分析
  • C#中is与As运算符号的使用详解

相关文章

  • 2017-05-28在C#使用字典存储事件示例及实现自定义事件访问器
  • 2017-05-28C#画笔使用复合数组绘制单个矩形的方法
  • 2017-05-28C#实现闪动托盘图标效果的方法
  • 2017-05-28基于一个应用程序多线程误用的分析详解
  • 2017-05-28C#判断指定分区是否是ntfs格式的方法
  • 2017-05-28VB.NET中TextBox的智能感知应用实例
  • 2017-05-28C#进阶系列 WebApi身份认证解决方案推荐:Basic基础认证
  • 2017-05-28c#通过xpath读取xml示例
  • 2017-05-28重温C# clr 笔记总结
  • 2017-05-28C#修改及重置电脑密码DirectoryEntry实现方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 如何使用C#读写锁ReaderWriterLockSlim
    • C#中数组、ArrayList和List三者的区别详解及实例
    • C#反射应用实例
    • c# Base64编码和图片的互相转换代码
    • 解析C#面向对象编程中方法(method)的使用
    • C#获取关键字附近文字算法实例
    • C#从windows剪贴板获取并显示文本内容的方法
    • c# 获取数据库中所有表名称的方法
    • 提示出现unresolved external symbol _main的解决方法
    • 解析XPath语法之在C#中使用XPath的示例详解

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有