在 C# 中,is
和 as
是用于类型检查和类型转换的操作符。
is 操作符: is
操作符用于检查对象是否与指定的类型兼容(即是否可以强制转换为指定类型),如果兼容则返回 true
,否则返回 false
。它的语法如下:
if (obj is Type)
{
// 对象可以转换为指定类型
}
as 操作符: as
操作符用于尝试将对象转换为指定的类型,如果转换成功则返回转换后的对象,如果转换失败则返回 null
。它的语法如下:
Type result = obj as Type;
if (result != null)
{
// 转换成功,result 变量包含转换后的对象
}
下面是一个示例,演示了 is
和 as
操作符的使用:
object obj = "Hello";
// 使用 is 操作符检查类型
if (obj is string)
{
Console.WriteLine("obj 是一个字符串类型。");
}
// 使用 as 操作符尝试转换类型
string str = obj as string;
if (str != null)
{
Console.WriteLine($"转换成功,字符串内容为:{str}");
}
else
{
Console.WriteLine("转换失败。");
}
在这个示例中,obj
是一个 object
类型的变量,我们使用 is
操作符检查它是否是 string
类型,然后使用 as
操作符尝试将其转换为 string
类型。