C# as 和 is 运算符区别和用法
前言
在 C#中,as 和 is 关键字都用于处理类型转换的运算符,但它们有不同的用途和行为。本文我们将详细解释这两个运算符的区别和用法。
is 运算符
is 运算符用于检查对象是否是某个特定类型,或者是否可以转换为该类型。它返回一个布尔值 (true 或 false)。
复制代码
模式匹配
C# 7.0 引入了模式匹配,允许在 is 表达式中进行类型检查和转换:
复制代码
列表模式
从 C# 11 开始,可以使用列表模式来匹配列表或数组的元素。以下代码检查数组中处于预期位置的整数值:
复制代码
as 运算符
as 运算符尝试将对象转换为特定类型,如果转换失败,则返回 null 而不是抛出异常。它通常用于在不需要显式检查对象是否为特定类型的情况下进行安全的类型转换。
注意:as 运算符仅考虑引用、可以为 null、装箱和取消装箱转换。它不支持用户定义的或复杂的类型转换,这种情况需要使用强制转换表达式。
复制代码
C#/.NET/.NET Core 面试宝典
本文已收录至 C#/.NET/.NET Core 面试宝典中,欢迎关注获取更多面试干货内容。
参考文章
https://learn.microsoft.com/zh-cn/dotnet/csharp/language-reference/operators/is
https://learn.microsoft.com/zh-cn/dotnet/csharp/language-reference/operators/type-testing-and-cast#as-operator
版权声明: 本文为 InfoQ 作者【追逐时光者】的原创文章。
原文链接:【http://xie.infoq.cn/article/8b85d6f3c5421a35675b9d025】。文章转载请联系作者。







评论