在C#和Vb.net,是不受循环迭代一个bitarray检查contins任何真或假值(DOTNET 2.0)的任何方式?如何检查bitArray是否包含任何真值或任何假值?
5
A
回答
6
我怀疑有什么办法,你可以做没有引擎盖下的环路(作为BitArray
可以任意长,不像BitVector32
),但如果你只是不”不想把它写自己:
var hasAnyTrue = input.Cast<bool>().Contains(true);
var hasAnyFalse = input.Cast<bool>().Contains(false);
1
我不知道你是否可以使用BitArray,但如果你使用int,long等,然后检查它是否大于0(为true)或小于最大值数据类型(用于false)会执行此操作。
所以是这样的:
bool IsTrue (int bitArray)
{
return bitArray != 0;
}
bool isFalse (int bitArray)
{
return bitArray != int.MinValue;
}
1
索引到BitArray
和检验各boolean
值是一个显而易见的解决方案。如果你关心性能,你应该首先考虑创建自己的抽象,但如果你喜欢使用BitArray
对于大部分的操作,那么你可以做使用CopyTo
到合适的尺寸(Count >> 5
)的int[]
的检查,然后根据需要对这些ints执行零或非零检查。
2
如果您正在使用System.Collections中从该BitArray类,你可以使用下面的代码,以确定是否有任何是真实的。
C#版本
var anyTrue = myArray.Cast<bool>().Any(x => x);
VB.Net版本
Dim anyTrue = myArray.Cast(Of Boolean)().Any(Function(x) x)
相关问题
- 1. 如何检查window.localStorage是否包含任何值
- 2. 如何检查数组元素是否包含任何值
- 3. 检查哈希是否包含任何空值
- 4. PHP检查(POST)中的变量是否包含任何数值
- 5. Crystal Reports检查字符串是否包含任何数值
- 6. 如何检查HashSet是否包含值?
- 7. 如何检查用户控件中的控件是否包含任何值?
- 8. 检查是否有任何输入值
- 9. 检查布局是否包含任何ImageView或TextView android
- 10. 检查数组中的任何对象的值是否为真?
- 11. 如何经常检查bool的值是否为真/假? SWIFT
- 12. 如何检查会话对象是否包含任何对象?
- 13. 如何检查任何矩形是否包含圆? (在pygame中)
- 14. 如何检查字符串是否包含任何数字
- 15. 如何检查是否输入包含任何特殊字符
- 16. 如何检查Django表单是否包含任何数据?
- 17. 如何检查datatable是否包含任何匹配的行?
- 18. Lua表检查是否有任何变量匹配任何值
- 19. 在#ifndef's中包含#包含 - 是否添加任何值?
- 20. 如何检查NSMutableArray是否包含值(空)或不?
- 21. 如何检查布尔值数组是否包含所有真值?
- 22. Sql表逗号分隔值包含任何变量值检查
- 23. C#如何检查数字是否是任何组值?
- 24. 如何检查布尔值列表是否包含值?
- 25. 如何检查函数的返回值如果为真或假
- 26. MySQL如何检查列表中的任何值是否为NULL?
- 27. 如何检查json数组是否有任何值?
- 28. Android:检查字符串是否包含数组中的任何值的方法?
- 29. 如何检查数据框中是否包含列表或向量的任何值?
- 30. 如何检查此/任何文件夹是否包含任何mp4文件或不在android中使用cordova?
事实上,这将是我的建议过于假设它投影确定。 – Ian 2009-06-09 11:20:12
BitArray是一种类型。它不是`int`。 – 2009-06-09 11:28:07
是的,但像你说的是不是真的有检查值,而不做一个循环的方式。我只是提供了一种检查位数组的方式,不一定使用BitArray类型。 – kemiller2002 2009-06-09 11:33:14