`

C#中as和is的用法

 
阅读更多
一、类型转换 

1.任何类型都可以转换为其基类类型,用隐式转换完成; 
2.任何类型转换为其派生类型时,必须进行显示转换。如:(类型名)对象名; 
3.使用GetType可以取得任何对象的精确类型; 
4.基本类型可以使用Convert类实现类型转换; 
5.除了string以外的其他类型都有Parse方法,用于将字符串类型转换成对应的基本类型; 
6.值类型和引用类型的转换称为装箱(boxing)或拆箱(unboxing); 

二、is/as示例 

is转换规则: 

1. 检查对象类型的兼容性,并返回结果true(false); 
2.不会抛出异常; 
3.如果对象为null,刚返回false; 

示例: 

C#代码 
  1. object o = "abc";  
  2. if (o is string//执行第一次类型兼容性检查  
  3. {  
  4.     string s = (string)o; //执行第二次类型兼容性检查,并转换  
  5.     MessageBox.Show("转换成功!");  
  6. }  
  7. else  
  8. {  
  9.     MessageBox.Show("转换失败!");  
  10. }  


as转换规则: 

1.检查对象类型的兼容性,并返回转换结果,如果不兼容则返回null; 
2.不会抛出异常; 
3.如果结果判断为空,则强制执行类型转换将抛出NullReferenceException异常; 

示例: 

C#代码 
  1. object o = "abc";  
  2. string s = o as string//执行第一次类型兼容性检查,并返回结果  
  3. if (s != null)   
  4.     MessageBox.Show("转换成功!");  
  5. else  
  6.     MessageBox.Show("转换失败!");  


注:as比is少执行一次兼容性检查,性能可能会高一点点
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    as和is的用法

    本文将深入探讨 `as` 和 `is` 这两个关键字的使用方法及其应用场景,帮助开发者更好地理解和掌握这两种类型的转换。 #### `as` 关键字 `as` 关键字用于执行类型转换,并且不会抛出异常。当转换失败时,`as` 会返回...

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

    在C#编程语言中,`is` 和 `as` 关键字是用于类型转换的两种常见方式,它们各自有特定的用途和优缺点。本文将深入解析这两种关键字的用法,并通过实例分析来帮助理解。 1. `is` 关键字: `is` 关键字用于检查一个...

    C#中AS和IS关键字的用法

    在程序中,进行类型转换是常见的事,C#支持基本的强制类型转换方法,例如: Object obj1 = new NewType(); NewType newValue = (NewType)obj1; 这样强制转换的时候,这个过程是不安全的,因此需要用try-catch语句...

    C#中is与as的区别分析

    在C#编程语言中,`is` 和 `as` 关键字用于处理对象类型的转换,它们各有特点,但有着明显的区别。以下是对这两个关键字的详细分析: **C# 类型转换** C# 中的类型转换分为显式和隐式转换。显式转换,也称为强制...

    C#中is与As运算符号的使用详解

    在C#编程语言中,`is`和`as`运算符是进行类型检查和类型转换的重要工具。本文将深入解析这两个运算符的工作原理、用法以及它们之间的区别。 首先,`is`运算符用于判断一个对象是否可以被转换为指定的类型。其基本...

    NIIT ISAS项目

    【描述】:在“NIIT ISAS项目”中,重点内容围绕着微软的MS .NET Development Tools展开,涵盖了该平台的各个方面,包括但不限于C#编程语言、ASP.NET框架、Visual Studio IDE以及.NET Framework的最新版本特性。...

    C# 9.0文档 中文版.pdf

    此外,模式匹配和is/as运算符在类型转换方面提供了安全高效的方式。 最后,C# 9.0文档会探讨C#中的编译器中的重大更改,并提供版本历史记录,以便开发者了解各个C#版本之间的差异。语言与框架之间的关系也被清晰地...

    MSDN离线版C# 脚本手册 C# 指南.pdf

    - **命名空间**:介绍命名空间的作用和使用方法。 - **基本类型**:列举并解释了C#中的基本数据类型。 - **类**:涵盖类的定义、使用及其成员(如属性、方法)。 - **析构元组和其他类型**:探讨了C#中元组的使用,...

    c# 如何遍历groupbox中所有对象

    3. **类型转换**(使用`as`关键字): 当确定`c`是`CheckBox`类型后,使用`as`关键字将其转换为`CheckBox`类型,以便访问`CheckBox`特有的属性和方法。这里`cb`变量存储了转换后的CheckBox实例。 4. **状态检查**(`if ...

    C#开发和使用中的23个技巧

    ### C#开发与使用中的23个技巧详解 #### 技巧一:定制DataGrid列标题 ...以上技巧涵盖了C#开发中常见问题的解决方法,包括界面元素控制、数据库交互、数据处理等方面,有助于提升开发效率和代码质量。

    C#高手进阶之陷阱和缺陷

    理解CORS策略和使用方法至关重要。 9. 对象初始化和构造函数:不恰当的初始化顺序或依赖注入可能导致对象状态不一致。了解构造函数的工作原理,以及如何利用构造函数初始化器和属性初始化器,可以帮助避免这些问题...

    JAVA与C#的区别

    在Java中,方法声明可以带有public修饰符(即使这并非必要),但在C#中,显式为接口的方法指定public修饰符是非法的。 枚举器:C#中的is操作符与Java中的instanceof操作符一样,两者都可以用来测试某个对象的实例...

    C#中的关键字

    C#中的关键字 C#语言中有多种关键字,用于定义类、方法、变量、语句等各种语言元素。在本文中,我们将对C#中的关键字...C#中的关键字都是语言的基本组成部分,正确地使用这些关键字是编写高效、可读性强的代码的基础。

    C# comparison

    10. 显式类型转换:"as"关键字用于显式转换,注意这与VB中的用法有区别。 11. 获取类型信息:"typeof"运算符用于获取对象的类型信息。 12. 赋值运算符重载:C#不支持重载"="运算符,而在C++中是允许的。 这些对比...

    C#中用NPlot画图的方法总结

    这篇总结将详细介绍如何在C#中使用NPlot库进行绘图,并涵盖其主要功能,包括网格、标签、图例和箭头符号等。 首先,让我们了解NPlot的基本使用。安装NPlot库可以通过NuGet包管理器进行,搜索"NPlot"并添加到项目中...

    C#基础语法:as 运算符使用实例

    在C#编程语言中,`as`...总结,`as`运算符在C#中提供了一种安全、非侵入式的类型转换方式,尤其适合处理可能的`null`值和在运行时类型不确定的对象。了解并适当地使用`as`运算符,可以使你的C#代码更加健壮和易读。

    C#程序设计复习题.doc

    18. C#中方法的改写有两种情况,分别是使用`override`修饰符和`new`修饰符改写方法,前者表示覆盖基类方法,后者表示隐藏基类方法。 19. 在C#中,事件机制是通过委托(Delegate)来完成的。定义委托的关键字是`...

Global site tag (gtag.js) - Google Analytics