C# ve Vb.net'de, herhangi bir doğru veya yanlış değeri (Dotnet 2.0) kontrol etmek için bir bitarray döngüsünü yinelemeden herhangi bir şekilde bir yol var mı?Check checkBarray herhangi bir doğru veya yanlış değer içeriyor mu?
cevap
Sana (a BitArray
BitVector32
aksine istediğiniz uzunlukta olabilir gibi) başlık altında bir döngü olmadan yapabileceğini bir yolu var şüpheliyim, ama sadece don' t kendiniz yazmak istiyorum: BitArray
içine
var hasAnyTrue = input.Cast<bool>().Contains(true);
var hasAnyFalse = input.Cast<bool>().Contains(false);
BitArray kullanarak bunu yapıp yapamayacağınızı bilmiyorum, ancak int, long vb. Kullanırsanız ve 0'dan büyükse (true için) veya maksimum değerinden küçük olup olmadığını kontrol edin. Bunu yapmak için veri türü (yanlış için).
yüzden böyle bir şey:
bool IsTrue (int bitArray)
{
return bitArray != 0;
}
bool isFalse (int bitArray)
{
return bitArray != int.MinValue;
}
Nitekim bu benim önerim olacaktı da Tamam atmalarını varsayarak. – Ian
BitArray bir türüdür. Bu bir int değil. –
Evet, ama dediğin gibi gerçekten bir döngü yapmadan değerleri kontrol etmenin bir yolu yok. BitArray türünü kullanmak zorunda kalmadan sadece bir bit dizisini kontrol etmenin bir yolunu teklif ediyordum. – kemiller2002
İndeksleme ve bireysel boolean
değerleri kontrol bariz bir çözümdür. Performansla ilgili endişeleriniz varsa, öncelikle ve her şeyden önce kendi özetinizi oluşturmayı düşünmelisiniz, ancak çoğu işleminiz için BitArray
'u kullanmayı tercih ediyorsanız,kodunu doğru boyutta bir int[]
kullanarak (Count >> 5
) ve daha sonra bu inters üzerinde sıfır veya sıfır olmayan kontrolleri uygun şekilde yapın.
System.Dollections'dan BitArray sınıfını kullanıyorsanız, herhangi bir şeyin doğru olup olmadığını belirlemek için aşağıdaki kodu kullanabilirsiniz.
C# sürümü
var anyTrue = myArray.Cast<bool>().Any(x => x);
VB.Net Versiyon
Dim anyTrue = myArray.Cast(Of Boolean)().Any(Function(x) x)
Daha basit olan ile gitmekteki herhangi bir avantaj. 'Any yerine? Aslında, bunu başlangıçta yaptığım yol buydu, ama 'İçindekiler' akla geldi ve ben herhangi bir özel sebep bulamadığım için değiştirdim. Fikirler? –
- 1. NSUserDefaults Değer İçeriyor Veya Değil?
- 2. doğru veya yanlış
- 3. Regex.test() doğru bir yanlış sıra veriyor mu?
- 4. Bir URI protokolü içeriyor mu?
- 5. Subversion sıkıştırma içeriyor mu?
- 6. Linq sorgu döndürme doğru veya yanlış
- 7. Üçlü operatör PHP'ye yanlış bir değer eklemeniz gerekiyor mu?
- 8. Herhangi bir sütun "değer"
- 9. Müzik21 bir not geçiş sayacı içeriyor mu?
- 10. Alfanumerik _ ve boşluk içeriyor mu?
- 11. Javascript dosyaları BOM'yi içeriyor mu veya içermemeli mi?
- 12. Sorgu döndürme doğru/yanlış
- 13. , bir bool dizisindeki doğru (veya yanlış) öğelerin sayısını hesaplar mı?
- 14. Reaktif formlarla doğru/yanlış yerine değer onay kutusunu işaretleyin
- 15. Doğru/yanlış değer için uygun veri alanı tipi?
- 16. getHours() yanlış değer döndürüyor
- 17. Herhangi Bir Hücre Belirtilen Metni İçeriyor Koşullu Formatlama
- 18. JavaScript işlevi herhangi bir değer
- 19. Delphi Now() işlevi yanlış bir değer döndürüyor
- 20. C++ standart kütüphanesi herhangi bir noktada platform başına yerel başlıkları içeriyor mu?
- 21. sql boolean 0/1 Doğru veya Yanlış Temsil etmek için
- 22. ImageMagick Kurulu, Doğru veya Yanlış, Nasıl Kontrol Edilir? PHP
- 23. Python değişkenleri doğru veya yanlış olarak nasıl ayarlanır?
- 24. ActiveRecord dernekleri: Doğru mu yapıyorum?
- 25. Doğru veya Yanlış almıyor? Ve bu işlevi nasıl yürütüyorsun?
- 26. Değer boşsa "-" gösteriliyor mu?
- 27. subprocess.Popen execve() arg 3 dize olmayan bir değer içeriyor
- 28. Listeleri doğru kullanıyorum mu?
- 29. Hazırda bekletme sorgusu: Set belirli bir nesne içeriyor mu?
- 30. Bir özniteliğin yanlış olduğunu bildirmenin doğru yolu nedir?
kullanımı .Any() hangi daha okunabilir – juFo