C# 关键字 as is

as

  • as 运算符将表达式结果显式转换为给定的引用或可以为 null 值的类型。

  • 如果无法进行转换,则 as 运算符返回 null。

  • 与强制转换表达式 不同,as 运算符永远不会引发异常。

int[] numbers ={10, 20, 30};
IList<int> indexable = numbers as IList<int>;
if (indexable != null)
{
    Console.WriteLine(indexable[0] + indexable[indexable.Count - 1]);  // output: 40
}

is

is 运算符检查表达式的结果是否与给定的类型相匹配

检查是否为 null,如下例所示:

if (input is null)
{
    return;
}

可使用否定模式 执行非 null 检查

if (result is not null)
{
    Console.WriteLine(result.ToString());
}

从 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

相关推荐

  1. C# 关键字 as is

    2024-03-26 21:38:02       14 阅读
  2. (Unity) C# 中的as 关键字

    2024-03-26 21:38:02       35 阅读
  3. C/C++ extern关键字

    2024-03-26 21:38:02       35 阅读
  4. C++ 中关键字 Static

    2024-03-26 21:38:02       38 阅读
  5. c++关键字const

    2024-03-26 21:38:02       29 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-26 21:38:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-26 21:38:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-26 21:38:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-26 21:38:02       18 阅读

热门阅读

  1. 接口测试面试题汇总(含答案)

    2024-03-26 21:38:02       18 阅读
  2. 挡边输送带是什么

    2024-03-26 21:38:02       17 阅读
  3. C语言TCP通信基础CS模型

    2024-03-26 21:38:02       17 阅读
  4. 云服务器配置 docker-spark

    2024-03-26 21:38:02       16 阅读
  5. 【力扣】392.判断子序列

    2024-03-26 21:38:02       17 阅读
  6. ChatGPT:实现高效论文写作的秘密武器

    2024-03-26 21:38:02       16 阅读
  7. 达梦数据库 分区表的维护

    2024-03-26 21:38:02       24 阅读
  8. MySQL: 数据类型

    2024-03-26 21:38:02       17 阅读
  9. SQL的INTERSECT与MySQL模拟INTERSECT

    2024-03-26 21:38:02       17 阅读
  10. 函 数 篇

    2024-03-26 21:38:02       15 阅读
  11. php 快速入门(二)

    2024-03-26 21:38:02       16 阅读