checked
bağlamında ya da değilse, C# kodu kullanarak, bir OverflowException
'a neden olan/olmayan bir performans cezasıyla karşılaşmadan nasıl öğrenebilirim?İşaretli bir içerikte olup olmadığımı nasıl kontrol edebilirim?
cevap
checked
vs unchecked
arasındaki bir blok arasındaki tek fark, temel değer türü aritmetik işlemlerde derleyici tarafından oluşturulan IL talimatlarıdır. Başka bir deyişle, orada aşağıdaki arasında hiçbir gözlemlenebilir farktır:
checked {
myType.CallSomeMethod();
}
ve
myType.CallSomeMethod();
Ama böyle iki tamsayı ekleme gibi bir aritmetik işlem, orada olduğunu söylemek sağlar. Yöntem için IL talimatlarını almanız ve yöntem aramanızın etrafındaki talimatların kontrol edilip edilmediğini ve hatta kurşun geçirmezlikten uzak olup olmadığını kontrol etmeniz gerekir. Özel işleminizin gerçekten kontrol edilen blok içinde olup olmadığını veya kontrol edilmemiş bloklarla çevrelenmediğini söyleyemezsiniz.
Hatta bu iki durumu birbirinden ayırt edemez çünkü bir istisna, çalışmaz alıcı:
checked {
int a = (Some expression that overflows);
myType.CallSomeMethod();
}
ve
checked {
int a = (Some expression that overflows);
}
myType.CallSomeMethod();
Bu muhtemelen Decimal
tipi tespit etmeye çalışmaz neden parçasıdır checked
vs unchecked
ve bunun yerine OverflowException
'u atıyor.
- 1. dataGridView checkBox'un işaretli olup olmadığını nasıl kontrol edebilirim?
- 2. Bir dosya olup olmadığını nasıl kontrol edebilirim?
- 3. Android'de bir görüşmede olup olmadığımı nasıl öğrenebilirim?
- 4. Onay kutusunun işaretli olup olmadığını kontrol edin
- 5. Selenium Python Webdriver'da bir onay kutusunun işaretli olup olmadığını nasıl kontrol edebilirim?
- 6. Dosyanın var olup olmadığını nasıl kontrol edebilirim?
- 7. Özellik olup olmadığını nasıl kontrol edebilirim?
- 8. Fonksiyonun kısmi olup olmadığını nasıl kontrol edebilirim?
- 9. Çocuğun var olup olmadığını nasıl kontrol edebilirim?
- 10. Dizinin boş olup olmadığını nasıl kontrol edebilirim?
- 11. NSUserDefaults'un var olup olmadığını nasıl kontrol edebilirim
- 12. Seçicinin qtip olup olmadığını nasıl kontrol edebilirim?
- 13. Kuyruk boş olup olmadığını nasıl kontrol edebilirim?
- 14. Yolun var olup olmadığını nasıl kontrol edebilirim?
- 15. Sesin çevrimdışı olup olmadığını nasıl kontrol edebilirim?
- 16. Bir nesnenin Python'da bir yineleyici olup olmadığını nasıl kontrol edebilirim?
- 17. Bir değerin bir değerler dizisinde olup olmadığını nasıl kontrol edebilirim?
- 18. Android'in altındaki hata ayıklayıcıda olup olmadığımı nasıl anlarım?
- 19. bootstrap ile, .... i belirsiz olup olmadığımı
- 20. Ruby'de bir nesnenin yinelenebilir olup olmadığını nasıl kontrol edebilirim?
- 21. Bellek eşlemeli bir dosya olup olmadığını nasıl kontrol edebilirim?
- 22. Ruby'de bir nesnenin görünümde sıfır olup olmadığını nasıl kontrol edebilirim?
- 23. Elixir listesinde bir öğe olup olmadığını nasıl kontrol edebilirim?
- 24. Zaman çerçevesi içinde bir rezervasyon olup olmadığını nasıl kontrol edebilirim?
- 25. Belirli bir kullanıcı adı olup olmadığını nasıl kontrol edebilirim?
- 26. Emacs Lisp'de bir dizenin boş olup olmadığını nasıl kontrol edebilirim?
- 27. Bir dom öğesinin odaklanabilir olup olmadığını nasıl kontrol edebilirim?
- 28. Bir yöntemin yansıma kullanarak statik olup olmadığını nasıl kontrol edebilirim?
- 29. , bir öğenin görünür olup olmadığını nasıl kontrol edebilirim?
- 30. textField'in bir dizideki dizgeye eşit olup olmadığını nasıl kontrol edebilirim
Bilmen için pratik bir neden var mı? Eğer başka bir bağlamda olmanız gerekiyorsa, 'kontrol' ve 'işaretlenmemiş' operatörler bunun içindir. Eğer biri ya da diğerinde olmanız gerekmiyorsa, neden bilmek istersiniz? –
Korkarım ki '' OverflowException '' tek yol değilse de en kolay yoldur. – kennyzx
@PrestonGuillot (Say) Ben sadece "kontrol edildi" ise aritmetik taşmaları atıyor [aritmetik işlem (http://stackoverflow.com/q/28059655/709537)] uygulamak istiyorum. –