1 回答

TA貢獻1934條經驗 獲得超2個贊
定義:可以使用 as 運算符執(zhí)行轉換的某些類型在兼容之間的引用類型或可以為 null 的類型。
備注:as 運算符類似于強制轉換操作。 但是,如果轉換是不可能的,as 返回 null 而不引發(fā)異常。請注意 as 運算符執(zhí)行只引用轉換、nullable 轉換和裝箱轉換。 as 運算符不能執(zhí)行其他轉換,如用戶定義的轉換,應是通過使用轉換的表達式。
expression as type
expression is type ? (type)expression : (type)null
這兩個表達式是等效的,但 expression 變量只計算一次。
示例:
Object myObject = new Object(); //創(chuàng)建一個object對象
ClassA a = myObject as ClassA; //將它轉換為ClassA類型,此操作會失敗,但不會拋異常,a會被設置為null
a.ToString(); //訪問a會拋出一個System.NullReferenceException異常
as 的工作方式和強制類轉換一樣,但是它永遠不會拋出一個異常,如果指定的操作不能正確地進行轉換,那么得到的就是null,實際應用中通常會判斷結果是否為 null;
- 1 回答
- 0 關注
- 664 瀏覽
添加回答
舉報