在C#中,as和is是两个用于类型转换和类型检查的关键字。
- as 关键字用于在安全的情况下执行引用类型之间的显式转换。它的语法如下:
expression as type
as关键字将尝试将表达式(expression)转换为指定的类型(type)。如果转换成功,那么结果将是一个指向该类型的引用;如果转换失败,那么结果将是null。这个关键字主要用于避免抛出异常,而不是使用强制转换运算符可能抛出的 InvalidCastException 异常。
例如:
object obj = "Hello";
string str = obj as string;
if (str != null)
{
Console.WriteLine(str.Length);
}
- is 关键字用于检查一个对象是否是指定类型的实例。它的语法如下:
expression is type
is关键字返回一个布尔值,表示表达式(expression)是否可以被转换为指定的类型(type)。
例如:
object obj = "Hello";
if (obj is string)
{
Console.WriteLine("obj is a string");
}
通过使用as和is关键字,你可以在C#中进行类型转换和类型检查,从而更加安全地处理对象的类型。