天轰穿C#教程之is运算符[原创]

  如果所提供的表达式非空,并且所提供的对象可以强制转换为所提供的类型而不会导致引发异常,则 is 表达式的计算结果将是 true。

  

  检查对象是否与给定类型兼容。例如,以下代码可以确定对象是否与 string 类型兼容:

  

  object obj="哇哈哈哈哈哈";

  

  if (obj isstring)

  

  {

  

  .......

  

  }

  

  如果所提供的表达式非空,并且所提供的对象可以强制转换为所提供的类型而不会导致引发异常,则 is 表达式的计算结果将是 true。

  

  如果已知表达式将始终是 true 或始终是 false,则 is 关键字将导致编译时警告,但是,通常在运行时才计算类型兼容性。

  

  另外需要注意几点:

  

  不能重载 is 运算符。

  

  is 运算符只考虑引用转换、装箱转换和取消装箱转换。不考虑其他转换,如用户定义的转换。

  

  在 is 运算符的左侧不允许使用匿名方法。lambda 表达式属于例外。

  

  本文为天轰穿原著,转载请注明出处及作者!

原文地址:https://www.cnblogs.com/thcjp/p/2767494.html