一、C# as运算符
as运算符用于执行引用类型的显式类型转换。请阅读C#数据类型。
as运算符可以用下面的格式表示:
expression as type?expression:引用类型的表达式。
?type:引用类型。
例如:
string str = someObject as string;
if (str != null)
{
// someObject is a string.
}
as运算符类似于强制转换操作。只是在转换失败时,as运算符会返回null,而不会引发异常。
二、提示
expression as type等效于
expression is type ? (type)expression : (type)null不过expression只能被计算一次。
注:如果要转换的类型与指定的类型兼容,就会成功转换;如果要转换的类型与指定的类型不兼容,as运算符就会返回null值。
三、示例
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Test
{
class Program
{
static void Main(string[] args)
{
// C# as运算符-www.baike369.com
object obj1 = "this is a string";
object obj2 = 9;
string str1 = obj1 as string; // 转换成功
Console.WriteLine("str1:" + str1);
string str2 = obj2 as string; // 转换失败
Console.WriteLine("str2:" + str2);
Console.ReadLine();
}
}
}
运行结果:
str1:this is a string
str2:
str2返回null。