当前位置: 首页 > news >正文

深圳网站建设网站制作网站设计三网合一的模板网站

深圳网站建设网站制作网站设计,三网合一的模板网站,重庆网站建设子沃科技公司,陆金所 网站开发二部前言 在C#中,as 和 is 关键字都用于处理类型转换的运算符,但它们有不同的用途和行为。本文我们将详细解释这两个运算符的区别和用法。 is 运算符 is 运算符用于检查对象是否是某个特定类型,或者是否可以转换为该类型。它返回一个布尔值 (t…

前言

在C#中,as 和 is 关键字都用于处理类型转换的运算符,但它们有不同的用途和行为。本文我们将详细解释这两个运算符的区别和用法。

is 运算符

is 运算符用于检查对象是否是某个特定类型,或者是否可以转换为该类型。它返回一个布尔值 (true 或 false)。

            string title = "Hello DotNetGuide";if (title is string){Console.WriteLine("是 string 类型");}else{Console.WriteLine("不是 string 类型");}if (title is not null){Console.WriteLine("不为 null");}else{Console.WriteLine("为 null");}

模式匹配

C# 7.0 引入了模式匹配,允许在 is 表达式中进行类型检查和转换:

            object obj = "追逐时光者";if (obj is string str){Console.WriteLine($" {str}");}else{Console.WriteLine("不是指定类型");}

列表模式

从 C# 11 开始,可以使用列表模式来匹配列表或数组的元素。以下代码检查数组中处于预期位置的整数值:

int[] empty = [];
int[] one = [1];
int[] odd = [1, 3, 5];
int[] even = [2, 4, 6];
int[] fib = [1, 1, 2, 3, 5];Console.WriteLine(odd is [1, _, 2, ..]);   // false
Console.WriteLine(fib is [1, _, 2, ..]);   // true
Console.WriteLine(fib is [_, 1, 2, 3, ..]);     // true
Console.WriteLine(fib is [.., 1, 2, 3, _ ]);     // true
Console.WriteLine(even is [2, _, 6]);     // true
Console.WriteLine(even is [2, .., 6]);    // true
Console.WriteLine(odd is [.., 3, 5]); // true
Console.WriteLine(even is [.., 3, 5]); // false
Console.WriteLine(fib is [.., 3, 5]); // true

as 运算符

as 运算符尝试将对象转换为特定类型,如果转换失败,则返回 null 而不是抛出异常。它通常用于在不需要显式检查对象是否为特定类型的情况下进行安全的类型转换。

注意:as 运算符仅考虑引用、可以为 null、装箱和取消装箱转换。它不支持用户定义的或复杂的类型转换,这种情况需要使用强制转换表达式。

            object title = "Hello DotNetGuide";string str = title as string;if (str != null){Console.WriteLine("是 string 类型: " + str);}else{Console.WriteLine("不是 string 类型");}int? num = title as int?;if (num.HasValue){Console.WriteLine("是 int 类型: " + num.Value);}else{Console.WriteLine("不是 int 类型");}

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

http://www.yayakq.cn/news/543255/

相关文章:

  • 网站管理有哪些Wordpress现有数据库表
  • 怎么让别人看到自己做的网站网页制作素材 期末考试
  • 做一个营销型网站需要多少钱网站的意思
  • 网站建设方案产业网页设计基础心得体会
  • 网站后台培训学校杭州网站开发工程师
  • 网站怎么做seo、惠济郑州网站建设
  • 作图网站哈尔滨信息工程学院地址
  • 哪个网站做h5最好html设计个人网页
  • 网站建设需要什么工具加强人社局网站建设
  • 网站向哪里备案深圳龙岗现在算什么风险地区
  • 营销型网站策划公司广州市公司网站建设报价
  • 贺州网络推广网站优化的常见问题
  • 自己的网站可以做淘客吗备案ip 查询网站查询网站
  • 网站支付怎么做虚拟币支付淘宝客 网站建设
  • 郑州网站制作公司名单哪个网站可以学做咸菜
  • 个人网站 备案 类型淮安市建设局网站首页
  • 营销网站制作方案天辰建设网站公司
  • win7 iis配置网站 视频教程wordpress菜单锚点定位
  • 做seo网站诊断书怎么做广州 骏域网站建设 陶瓷
  • 小组用jsp做的网站论文网站建设制作设计公司
  • wordpress免费网页建站移动端网站怎么做外链
  • 网站监控怎么做地方房地产网站seo实战案例分享
  • 微信网站怎么收款产品设计ppt案例
  • 钓鱼网站怎么制作html北京高端网站设计外包公司
  • 百度云 免费 网站主机网站建站公司模板
  • 出口手工艺品网站建设方案台州wordpress
  • 网站建设好公司哪家好网站后台域名登陆软件
  • 一般网站使用什么做的网站开发vs2015是什么
  • 重庆网站建设 狐灵分类用wordpress
  • 建设网站怎么学兖矿东华建设有限公司网站