0
if(someVar is MyClass)
ReSharper的suggeted與C#對象的類型VS對象類型
var some = someVar as MyClass;
if(some!= null){ /*.......*/ }
更換這是沒有任何性能上的優勢?我記得與拳擊和拆箱變量有關的東西,但不知道,如果我在正確的道路上。還是Resharper只是建議適當的語法?
if(someVar is MyClass)
ReSharper的suggeted與C#對象的類型VS對象類型
var some = someVar as MyClass;
if(some!= null){ /*.......*/ }
更換這是沒有任何性能上的優勢?我記得與拳擊和拆箱變量有關的東西,但不知道,如果我在正確的道路上。還是Resharper只是建議適當的語法?
它暗示這可能是因爲前者需要兩個注塑原因:
if(someVar is MyClass)
{
var myVar = (MyClass) someVar;
}
的is
運營商做一個幕後的演員和返回boolean它是否是允許的。
如果你使用as
雖然,你幾乎「緩存」的結果,你將只有一個必要的演員。
var myVar = someVar as MyClass
if(myVar != null)
{
// No cast needed
}