2 回答

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

TA貢獻1796條經(jīng)驗 獲得超4個贊
實例化的時候父類向子類轉(zhuǎn)換或者子類向父類強制轉(zhuǎn)換的時候會用到,還可以在互操作時候強轉(zhuǎn)c++的指針類型。
- 2 回答
- 0 關(guān)注
- 851 瀏覽
添加回答
舉報