目录:
定义-IS运营商是什么意思?
C#中的IS运算符是用于动态检查对象是否与给定类型兼容的运算符。
在处理涉及基本类型和派生类型的引用类型时,必须将基本类型的对象转换为派生类型,然后调用该方法。 如果从基本类型到派生类型的简单转换不成功,则会导致引发异常。 is运算符用于测试强制转换操作是否成功,而不会引起异常。 这是一个高效的运营商。 它不仅检查对象的安全和成功投射,还获取成功投射的投射值。 但是,在代码中经常使用它来确定对象的类型,而无需进行强制转换操作。
由于is运算符始终在强制转换操作之后返回布尔值(真或假),并且从不抛出异常,因此在应用程序代码中使用它是高度可靠的。 另外,它允许以更简单的方式验证给定类型的对象的类型,从而减少了代码大小和开发工作。
技术百科解释了IS操作员
is运算符是具有两个参数的类型测试运算符,其中包括引用类型的表达式。 必须检查引用类型的转换以及表达式必须转换为的目标类型。 如果表示对象的给定表达式不为null,并且表达式成功转换为指定类型,则is运算符返回true。 否则,它返回false。
is运算符不能重载以提供任何其他语义。 它可用于检查参考,装箱和拆箱转换,但不能用于用户定义的转换。 尽管表达式的类型兼容性是在运行时评估的,但是当对不兼容的类型使用is运算符时,C#编译器会在编译期间生成警告。
例如,is运算符可用于检查传递给方法的参数是类型,学生型还是其派生类型,其中学生是用于表示应用程序中与学生相关的信息的类型。
is运算符与AS运算符的不同之处在于,前者导致执行两次强制转换,而后者避免了两次强制转换为单步执行,因此使用as运算符可获得更好的性能。