as 運算符
as 運算符用於在兼容的引用類型之間執行轉換。
例如:
string s = someObject as string;
if (s != null)
{
// someObject is a string.
}
備注
as 運算符類似於強制轉換操作。但是,如果無法進行轉換,則 as 返回 null 而非引發異常。請看下面的表達式:
expression as type
它等效於以下表達式,但只計算一次 expression。
expression is type ? (type)expression : (type)null
注意,as 運算符只執行引用轉換和裝箱轉換。as 運算符無法執行其他轉換,如用戶定義的轉換,這類轉換應使用強制轉換表達式來執行。
示例
代碼
1 // cs_keyword_as.cs
2 // The as operator.
3 using System;
4 class Class1
5 {
6 }
7
8 class Class2
9 {
10 }
11
12 class MainClass
13 {
14 static void Main()
15 {
16 object[] bjArray = new object[6];
17 objArray[0] = new Class1();
18 objArray[1] = new Class2();
19 objArray[2] = "hello";
20 objArray[3] = 123;
21 objArray[4] = 123.4;
22 objArray[5] = null;
23
24 for (int i = 0; i < objArray.Length;