天轰穿C#教程之is运算符[原创]
2012-11-13 09:51
176 查看
如果所提供的表达式非空,并且所提供的对象可以强制转换为所提供的类型而不会导致引发异常,则 is 表达式的计算结果将是 true。
检查对象是否与给定类型兼容。例如,以下代码可以确定对象是否与 string 类型兼容:
object obj="哇哈哈哈哈哈";
if (obj isstring)
{
.......
}
如果所提供的表达式非空,并且所提供的对象可以强制转换为所提供的类型而不会导致引发异常,则 is 表达式的计算结果将是 true。
如果已知表达式将始终是 true 或始终是 false,则 is 关键字将导致编译时警告,但是,通常在运行时才计算类型兼容性。
另外需要注意几点:
不能重载 is 运算符。
is 运算符只考虑引用转换、装箱转换和取消装箱转换。不考虑其他转换,如用户定义的转换。
在 is 运算符的左侧不允许使用匿名方法。lambda 表达式属于例外。
本文为天轰穿原著,转载请注明出处及作者!
检查对象是否与给定类型兼容。例如,以下代码可以确定对象是否与 string 类型兼容:
object obj="哇哈哈哈哈哈";
if (obj isstring)
{
.......
}
如果所提供的表达式非空,并且所提供的对象可以强制转换为所提供的类型而不会导致引发异常,则 is 表达式的计算结果将是 true。
如果已知表达式将始终是 true 或始终是 false,则 is 关键字将导致编译时警告,但是,通常在运行时才计算类型兼容性。
另外需要注意几点:
不能重载 is 运算符。
is 运算符只考虑引用转换、装箱转换和取消装箱转换。不考虑其他转换,如用户定义的转换。
在 is 运算符的左侧不允许使用匿名方法。lambda 表达式属于例外。
本文为天轰穿原著,转载请注明出处及作者!
相关文章推荐
- 天轰穿C#教程之运算符的优先级【原创】
- 天轰穿C#教程之sizeof运算符【原创】
- 天轰穿C#教程之数学运算符【原创】
- 天轰穿C#教程之装箱和拆箱[原创]
- 天轰穿C#教程之C#预处理指令【原创】
- 天轰穿C#教程之隐式转换方式[原创]
- 天轰穿C#教程之赋值运算符【原创】
- 天轰穿C#教程之#define和#undef【原创】
- 天轰穿C#教程之数学运算符
- VBS教程:运算符-Is 运算符
- 天轰穿C#教程之#pragma介绍[原创]
- 天轰穿C#教程之#region和#endregion介绍[原创]
- 天轰穿C#教程之值类型[原创]
- 天轰穿C#教程之表达式【原创】
- 天轰穿C#教程之显示转换[原创]
- 天轰穿C#教程之布尔逻辑运算符【原创】
- 天轰穿C#教程之数据类型安全与转换【原创】
- 天轰穿C# -vs2010 - 04面向对象的编程之运算符的工作方式【原创】
- 天轰穿C#教程之预定义数据类型[原创]
- 天轰穿C#教程之if语句【原创】