C is和as關鍵字

2021-06-23 06:35:57 字數 847 閱讀 4654

is和as都是型別判斷關鍵字,只是as只進行了一次計算,而is進行了兩次。效率不同。

下面是摘至msdn上的原話:

as 運算子類似於強制轉換操作。 

但是,因此,如果轉換是不可能的,as 返回 null 而不引發異常。

請看下面的示例:

expression as type

**與下面的表示式是等效的,但 expression 變數只計算一次。

expression is type ? (type)expression : (type)null

請注意 as 運算子執行只引用轉換、nullable 轉換和裝箱轉換。

as 運算子不能執行其他轉換,如使用者定義的轉換,應是通過使用轉換的表示式。

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

class b

class test

]:", i++);

if (s != null)

else

}for (int j = 0; j < arrays.length; j++)

]:", j);

if (arrays[j] is string)

else

}console.writeline("按任意鍵退出....");

console.readkey(false);}}

}

this關鍵字和super關鍵字

this關鍵字和super關鍵字都必須放在構造方法的第一行,所有兩個關鍵字不能同時存在,任選其一即可,只需保證子類的所有構造方法呼叫父類的構造方法即可 this關鍵字的應用 this關鍵字用於區分區域性變數和成員變數的同名問題 有this關鍵字的是成員變數,或者是誰呼叫我,訪問的就是誰 this關鍵...

static關鍵字和final關鍵字

static記住幾點 1.優先順序高,載入優先物件例項化 2.在記憶體中只分配一次 3.屬於類本身,所有例項共享,一處變,處處變 4.1 static不能訪問沒有static修飾的方法 因為不認識,物件例項後才能在外部使用方法 2 可以訪問static塊 3 未加static的方法可以訪問stati...

abstract關鍵字和final關鍵字

abstract類和abstract方法 用關鍵字abstract修飾的類 方法 稱為abstract類 方法 抽象類,抽象方法。對於abstract方法,沒有方法體,且以 結尾,且不允許使用final和abstract同時修飾乙個類或者方法,因為被abstract修飾的話,就無法被繼承 abstr...