C#中的is和as关键字

宇托 13 0 条

在C#中,cs#iscs#as主要用于类型的判断和赋值。

is关键字主要用于类型判断

cs#is关键字是用来检查一个变量或值是否是类或者接口的实例。是则返回cs#true,不是返回cs#false

如下代码:

Object[] values = new Object[] { "", 1, 1.5 };
for (int i = 0; i < values.Length; i++)
{
    if (values[i] is ValueType)
    {
        Console.WriteLine("values[{0}] is ValueType", i);
    }
}

is关键字主要用于类型判断后赋值

cs#as关键字可以看成是cs#is的扩展。在检查一个变量或值是否是类或者接口的实例后,如果是则返回值,不是返回null。大概相当于这样的代码:cs#value is type ? value : null;

如下代码:

Object[] values = new Object[] { "", 1, 1.5 };
for (int i = 0; i < values.Length; i++)
{
    var aa = values[i] as ValueType;
    if (aa != null)
    {
        Console.WriteLine("values[{0}] is ValueType", i);
    }
}
发表我的评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址