小编use*_*938的帖子

c#中set和set all之间的差异

当我在程序中使用setall时:

BitArray bb = new BitArray(8) ;
bb.SetAll( true);

int[] dd = new int[1];           

bb.CopyTo(dd, 0);

for (int i = 0; i < dd.Length; i++)
    Console.WriteLine(dd[i]);

// result is  -1
Run Code Online (Sandbox Code Playgroud)

但如果我为bitarray的每个元素使用set

BitArray bb = new BitArray(8) ;
bb.Set( 0,true);
bb.Set(1, true);
bb.Set(2, true);
bb.Set(3, true);
bb.Set(4, true);
bb.Set(5, true);
bb.Set(6, true);
bb.Set(7, true);

int[] dd = new int[1];           

bb.CopyTo(dd, 0);         

for ( int i = 0; i < dd.Length; i++)
    Console.WriteLine(dd[i]);

// result is 255
Run Code Online (Sandbox Code Playgroud)

当使用设置结果为-1并且在第二个程序结果中使用setall为255时,为什么两个程序中的不同结果?

c# asp.net arrays bit

9
推荐指数
1
解决办法
145
查看次数

在 C# 中从 BitArray 转换为 16 位无符号整数

BitArray bits=new BitArray(16); // size 16-bit
Run Code Online (Sandbox Code Playgroud)

有 bitArray,我想在 C# 中将此数组中的 16 位转换为无符号整数,我不能使用 copyto 进行转换,是否还有其他方法可以从 16-bitto 转换为UInt16

c# asp.net int bit bitarray

3
推荐指数
1
解决办法
3560
查看次数

在 C# 中的位数组中搜索

如果有两个数组,第一个数组大小为 100 位,第二个数组大小为 32 位,我想在第一个数组 100 位中搜索 32 位数组

BitArray bits = new BitArray(100);  
BitArray bitss = new BitArray(32); 


bitss.Set(16,true);
bitss.Set(25,true);
bitss.Set(26,true);
bitss.Set(28,true);
bitss.Set(29,true);
bitss.Set(31,true);

for (int i = 0; i < (bits.Length)-1;i++ )

if ((bits[i] == bitss[0] &&
    bits[i + 1] == bitss[1] &&
    bits[i + 2] == bitss[2] &&
    bits[i + 3] == bitss[3] &&
    ...
    bits[i + 31] == bitss[31]))

    Console.WriteLine("Found");
Run Code Online (Sandbox Code Playgroud)

是否有更好的方法在 C# 中不使用( if 和 == )在位数组中搜索位数组

c# arrays search loops

1
推荐指数
1
解决办法
1864
查看次数

标签 统计

c# ×3

arrays ×2

asp.net ×2

bit ×2

bitarray ×1

int ×1

loops ×1

search ×1