Vel*_*elu -3 c# collections bitvector
我为BitVector64创建了mysec变量.对于小于8的版本,我想使用BitVector32生成值
static BitVector64.Section mySect1;
static BitVector64.Section mySect2;
static BitVector64.Section mySect3;
if (versions) > 7)
mySect2 = BitVector64.CreateSection(14, mySect1); // V1 - 3 bits
else
mySect3 = BitVector32.CreateSection(7, mySect2);
Run Code Online (Sandbox Code Playgroud)
我现在需要什么
以下转换对我不起作用
mySect3 = BitVector32.CreateSection(7, (BitVector32.Section) mySect2);
Run Code Online (Sandbox Code Playgroud)
以下转换对我不起作用
mySect3 = BitVector32.CreateSection(7, (BitVector32.Section) mySect2) as BitVector34.Section;
Run Code Online (Sandbox Code Playgroud)
要么
mySect3 = (BitVector64.Section) BitVector32.CreateSection(7, (BitVector32.Section) mySect2) ;
Run Code Online (Sandbox Code Playgroud)
.NET框架中没有名为"BitVector64"的类型.我不得不猜你从某个地方复制了它.显然,您复制的此代码不支持从BitVector32.Section到BitVector64.Section的隐式转换.
这并不奇怪,它提供的优化非常小.相反,从uint到ulong的转换相对昂贵,并且不值得节省非常小的内存.特别是因为这是一个结构.
BitVector32(可能是BitVector64)明确地使位操作快速有效.比BitArray更快,因为它可以利用cpu寄存器操作.不要让它变慢.
归档时间: |
|
查看次数: |
1159 次 |
最近记录: |