'' ile atmayı dene karşı boş olduğunu kontrol edin
Resharper böyle mi yapacağım geçtiğini fark ettim:
if (myObj.myProp is MyType)
{
...
}
bu içine:
var myObjRef = myObj.myProp as MyType;
if (myObjRef != null)
{
...
}
Bu ani değişikliğin sebebi ne önerirsiniz? Düşündüren optimizasyon değişiklikleri ve kod azaltma değişiklikler Resharper alışkınım, ama bu tek ifademi almak ve iki-astar çevirmek istiyor gibi geliyor.
10* *göre:
Birifadeaşağıdaki koşulların her ikisi de true ise için değerlendiren vardır bir araya geldi:
ifadeboş değil. ifade çevirebilirsinizyazın. Yani, bir
(type)(expression)
tamamlayacak form dökme ifade bir özel durum üretiliyor.
Yanlış okuma bu ben miyim, yoksa değil is
aynı çekler, açıkça null kontrol etmek için başka bir yerel değişken oluşturmak için gerek kalmadan tek bir satır sadece yapmak değil mi?
CEVAP
Sadece bir döküm var çünkü. Bu karşılaştırmak:
if (myObj.myProp is MyType) // cast #1
{
var myObjRef = (MyType)myObj.myProp; // needs to be cast a second time
// before using it as a MyType
...
}
bunun için:
var myObjRef = myObj.myProp as MyType; // only one cast
if (myObjRef != null)
{
// myObjRef is already MyType and doesn't need to be cast again
...
}
Nasıl bir dize bir tamsayı olduğunu ko...
Eğer iki sırasız listeler eşit olup ol...
eğer kullanıcı bir WordPress kullanmak...
uzak ana bilgisayarda bir bağlantı nok...
Android : telefon çift SIM olup olmadı...