📅  最后修改于: 2023-12-03 15:31:26.938000             🧑  作者: Mango
在 C# 中,is
和 as
是两个非常常用的关键字。它们都用于类型判断和类型转换,但具体使用场景和语法略有不同。下面我们来详细介绍一下它们的用法。
is
关键字is
关键字用于判断一个对象是否是指定类型的实例。其语法形式如下:
bool result = object_name is type;
其中,object_name
是要检查的对象名,type
是要判断的类型。如果 object_name
是 type
的实例,则返回 true;否则返回 false。
下面是一个示例:
object obj = "Hello, world!";
bool result = obj is string; // 返回 true
as
关键字as
关键字用于将一个对象转换为指定类型的对象,如果转换失败则返回 null。其语法形式如下:
type new_obj = object_name as type;
其中,object_name
是要进行类型转换的对象名,type
是要转换的目标类型。如果 object_name
可以强制转换为 type
的实例,则返回一个新的 type
对象;否则返回 null。
下面是一个示例:
object obj = "Hello, world!";
string str = obj as string; // 返回 "Hello, world!"
需要注意的是,as
关键字只能用于引用类型对象或可空值类型对象。对于值类型对象,应该使用显式强制类型转换来进行转换。
is
和 as
都是用于类型判断和类型转换的关键字。is
关键字用于判断一个对象是否是指定类型的实例,as
关键字则用于将一个对象转换为指定类型的对象。需要注意的是,as
关键字只能用于引用类型对象或可空值类型对象。在应用中正确地使用这两个关键字可以提高程序的效率和可读性。