| | | Veya operatörleri arasındaki fark nedir?
Her zaman ||
(iki boru) VEYA deyimler, C de kullandım# ve PHP. Tek bir boru kullanılan görüyorum ara sıra: |
. Bu iki kullanım arasındaki fark nedir? Diğer üzerinde kullanırken herhangi uyarılar vardır ya da değiştirilebilir?
CEVAP
Gibi & ve && operatörü, çift Operatör bir "kısa devre" operatörü.
Örneğin:
if(condition1 || condition2 || condition3)
Eğer condition1 doğruysa, durum 2 ve 3 kontrol edilecektir.
if(condition1 | condition2 | condition3)
Bu ve eğer 1 zaten doğruysa bile 3, 2 koşulları kontrol eder. Koşullar oldukça pahalı fonksiyonları olabilir gibi, onları kullanarak iyi bir performans artışı elde edebilirsiniz.
Orada büyük bir uyarı, NullReferences veya benzer sorunlar. Örneğin:
if(class != null && class.someVar < 20)
Eğer sınıf boş ise, eğer deyim "class=! sonra durur boş" false. Sadece sınıf kontrol etmek için çalışacağız &, kullanın.someVar ve güzel bir NullReferenceException olsun. Kötü bir şey tetiklemesi pek olası değil gibi bir tuzak Ya da Operatör o kadar olmayabilir, ama akılda tutulması gereken bir şey.
Hiç kimse her koşul yürütülecek olan bir fonksiyon olduğu bir tasarım olmadığı sürece rağmen tek & veya | operatörleri kullanır. Tasarım bir koku gibi geliyor, ama bazen (nadiren) bir şeyler yapmak için temiz bir yolu. & Operatörü "çalışma bu 3 fonksiyonları ve eğer onlardan biri yanlış verir, yürütme başka blok", | "sadece Çalıştır başka bir engel yok return false" - yararlı olabilir, ama dediğim gibi, pek sık bir tasarım kokuyor.
| Ve & operatör İkinci bir kullanımı ise: Bitwise Operations.
Bir iletişim arasındaki fark veya Andr...
Bir URI, URL ve URN arasındaki fark ne...
Aramak ve uygulamak arasındaki fark ne...
@Staticmethod ve @Python classmethod a...
Match_parent ve fill_parent arasındaki...