我需要一个仅包含值 0 和 1 的数组。bool[]
对我来说足够好吗?或者有没有更轻的东西?
编辑:
我没有内存限制,但是该数组是制作并在线传递的,大文件与该数组同时传递。我想要最大优化,这样大文件就不会被延迟
我需要一个仅包含值 0 和 1 的数组。bool[]
对我来说足够好吗?或者有没有更轻的东西?
编辑:
我没有内存限制,但是该数组是制作并在线传递的,大文件与该数组同时传递。我想要最大优化,这样大文件就不会被延迟
布尔可能不是最好的方法。取决于你有多少号码。
重要的是要认识到,即使 bool 是单个位,它也需要内存中的一个完整字节。
另一方面,BitArray 会为您解决这个问题,并且更节省空间,尽管时间效率略低。 http://msdn.microsoft.com/en-us/library/system.collections.bitarray.aspx
取决于您的约束,如果它不是用于受约束的环境,则 bool 数组将可以正常工作。
布尔数组已经足够好了。您可以将“假”视为0
,将“真”视为1
。
可能你需要 BitArray1
,和的序列0
。
bool[]
可以解决问题...如果您的 0 和 1 数字实际上只是“标志”而不是实数。
使用Enum
带有Flags
属性的 an 是另一种选择。这将允许您Intention Revealing Name
对两个布尔值都有一个。
[Flags()]
public enum TheFlags
{
NoneSet = 0,
FirstSet = 1,
SecondSet = 2
}
然后您可以检查“First”是否设置如下:
TheFlags flags = TheFlags.FirstSet;
if (flags.HasFlag(TheFlags.FirstSet))
Console.WriteLine("First flag is set!");