C#面:as 和 is 的区别-is 关键字:

时间:2024-02-29 20:00:44
  1. is 关键字用于判断一个对象是否是指定类型的实例。
  2. is 关键字可以用于引用类型和值类型之间的判断。
  3. 如果对象是指定类型的实例,则返回 true ;否则返回 false 。
  4. 使用 is 关键字进行判断时,不会抛出异常。

下面是一些示例代码来说明 as 和 is 的使用:

// 使用as关键字进行类型转换
object obj = "Hello";
string str = obj as string;
if (str != null)
{
    Console.WriteLine("转换成功:" + str);
}
else
{
    Console.WriteLine("转换失败");
}

// 使用is关键字进行类型判断
object obj = "Hello";
if (obj is string)
{
    string str = (string)obj;
    Console.WriteLine("是字符串:" + str);
}
else
{
    Console.WriteLine("不是字符串");
}

注意,as 关键字在转换失败时会返回 null ,而 is 关键字只返回 true 或 false 。另外,使用 as 关键字进行转换时,需要注意目标类型是否兼容,否则会得到 null 值。