C# 中的 Is 运算符
Is 运算符也称为类型兼容性运算符,在 C# 结构中起着不可或缺的作用。让我们尝试理解这个运算符。
C# 的 Is 运算符检查给定对象是否与另一个对象兼容,如果兼容,则返回 true。否则返回 false。
语法
expression is obj
示例
Expression 是要检查兼容性的对象。表达式可以包含变量、字面量和方法调用。Obj 是用于验证表达式的类型。这可以包括内置类型和用户定义类型。
// 执行类型兼容性运算符的操作。
Console.Writeline("Happy Holidays" is string);
Console.Writeline(42 is string);
输出
True False
让我们理解一下这个输出。我们知道"Happy Holidays"是一个字符串字面量,而 42 是一个整数。当将"Happy Holidays"与字符串数据类型进行检查时,结果为 true,因为它兼容。而将 42 与字符串数据类型进行检查时,结果为 false,因为它不兼容。
表达式
字面量表达式
字面量表达式由数字、字符序列(字符串)、数组等组成。
示例
// 执行类型兼容性运算符。
Console.Writeline("Happy Holidays" is string);
输出
TRUE
变量表达式
变量表达式将包含充当容器的对象,这些容器用于保存值或引用。
示例
// 一个对象声明为字符串数据类型。 object str= "Happy Holidays"; // 执行类型兼容运算符。 Console.Writeline(str is string);
输出
TRUE
函数调用表达式
函数调用表达式会在 is 运算符的左侧包含函数调用。
示例
// 类声明
class class_dec{}
// 声明了一个对象。
object str= Method_in_the_class();
// 执行类型兼容性运算符。
Console.Writeline(str is class_dec);
输出
TRUE
在上面的示例中,检查了函数调用语句的类型兼容性。只要被调用的函数在该类型中声明,结果就会为 true。在这种情况下,结果将为 false。class_dec 是一个空类。
类型
内置类型
C# 中的预定义类型可用于 is 运算符的右侧。这些类型可以是整型、字符型、浮点型和布尔型。
示例
// 一个对象被声明为数值数据类型。 object num= 42; // 执行类型兼容性运算符。 Console.Writeline(num is int);
输出
TRUE
用户定义类型
用户定义的类型也可以通过 is 运算符进行检查。它由类、枚举等组成。
示例
// 类声明
class class_dec{}
// 声明类的一个实例。
class_dec str= new class_dec();
// 执行类型兼容性运算符。
Console.Writeline(str is class_dec);
输出
TRUE
在上面的例子中,is 运算符将对象与用户定义的数据类型进行比较。
注意 − is 运算符也可以与 NULL 一起使用。如果表达式不为 null,则该运算符始终会输出 false。
用户定义类型的范围会影响输出。 is 运算符应始终在声明类型的范围内使用。
结论
本文重点介绍了 C# 中的 is 运算符。我们分析了其语法,并了解了 is 运算符的各种使用情况。我们还通过各种代码片段和示例演示了 is 运算符的用法。

