`

C#中as与is的用法(转)

    博客分类:
  • C#
阅读更多
一、类型转换

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

二、is/as示例

is转换规则:

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

示例:

    object o = "abc";
    if (o is string) //执行第一次类型兼容性检查
    {
        string s = (string)o; //执行第二次类型兼容性检查,并转换
        MessageBox.Show("转换成功!");
    }
    else
    {
        MessageBox.Show("转换失败!");
    }


as转换规则:

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

示例:

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


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

相关推荐

    as和is的用法

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

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

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

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

    在C#编程语言中,`AS`和`IS`关键字都是用来处理类型转换的重要工具,但它们的作用方式有所不同。理解并正确使用这两个关键字对于编写安全、高效的代码至关重要。 `AS`关键字主要用于引用类型的转换,它提供了更安全...

    C#中is与as的区别分析

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

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

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

    JAVA与C#的区别

    前两种的用法与Java中的System.out.println()方法的用法相同,第三种方式是根据占位符输出的,比Java更方便了。 控制流语句:C#跟Java类似,还有C#中的switch如果case后面有内容必须要有break;Java可以没有break。...

    C# 9.0文档 中文版.pdf

    C#的发展历程中,C# 9.0作为该语言的一个重要版本,引入了一系列的新特性与改进,本篇文档将提供对这些知识点的详细介绍。 首先,C# 9.0文档会涵盖入门级别的内容,包括C#语言和.NET框架的简介。初学者可以学习C#...

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

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

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

    - **列表集合**:介绍C#中的集合类型,特别是列表(List)的使用方法。 #### 三、面向对象编程 - **类简介**:解释了类的概念、属性、方法以及构造函数等。 - **面向对象的编程**:探讨了面向对象编程的核心概念,...

    NIIT ISAS项目

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

    C# comparison

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

    C#实现DataGridView转换为Excel(包括图片和文本)

    在C#中,我们可以使用`Microsoft.Office.Interop.Excel`库来与Excel进行交互。这个库允许我们创建新的Excel工作簿、工作表,以及向其中写入数据。但需要注意的是,这个方法需要在用户的机器上安装了Office,否则可能...

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

    - `as`运算符常与`is`运算符结合使用,以确保转换前对象的类型是正确的。例如,`expression is type`检查是否可以转换,`expression as type`则执行转换。如果`expression`为`null`或不是`type`,`as`会返回`null`...

    C#里氏转换.zip

    3. **类型检查与转换**:在C#中,我们可以使用`is`关键字检查一个对象是否是特定类型,或者使用`as`关键字尝试将其转换为另一种类型。这种类型检查和转换在处理多态性时非常有用,确保在里氏转换中不会出现意外的...

    C#中的关键字

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

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

    ### C#开发与使用中的23个技巧详解 #### 技巧一:定制DataGrid列标题 在C# Winform应用程序中,定制`DataGrid`列标题可以通过创建`DataGridTableStyle`对象并添加`DataGridColumnStyle`实现。具体操作如下: ```...

    c# datagirdview控件内嵌combox方法与内嵌combox可下拉可编辑与combox加载数据库数据

    在C#编程中,DataGridView控件是用于展示表格数据的强大工具,而为了增强其功能,我们经常会在单元格内嵌入ComboBox控件。这使得用户不仅能够查看预设的选项,还能进行编辑,提供更加丰富的交互体验。本教程将详细...

    c# 类型转换

    CLR允许将一个对象转换为它的实际类型,或者它的基类型。... c#中is as的操作符用法 在c#语言中,进行类型转换的另一个方式是使用is as操作符。 is:检查对象是否兼容指定对象,返回bool类型。 例: object o = new ob

Global site tag (gtag.js) - Google Analytics