相关疑难解决方法(0)

如何整理整数除法的结果?

在使用C#或Java等语言时,我正在考虑如何显示分页控件.

如果我想要以每页y块的形式显示x项,那么需要多少页?

c# java math

317
推荐指数
8
解决办法
18万
查看次数

从bitarray改为enum

我目前有一些粗略的谷歌代码..这有效,但我想换成枚举.

目前我需要一个字节来表示一些设置的位标志,

我目前有这个:

 BitArray bitArray =new BitArray(new bool[] { true, true, false, false, false, false, false, false });
Run Code Online (Sandbox Code Playgroud)

用于排队..

new byte[] {ConvertToByte(bitArray)})
Run Code Online (Sandbox Code Playgroud)

使用此站点的ConvertToByte ...

    private static byte ConvertToByte(BitArray bits) // http://stackoverflow.com/questions/560123/convert-from-bitarray-to-byte
    {
        if (bits.Count != 8)
        {
            throw new ArgumentException("incorrect number of bits");
        }
        byte[] bytes = new byte[1];
        bits.CopyTo(bytes, 0);
        return bytes[0];
    }
Run Code Online (Sandbox Code Playgroud)

但是,当我触及时,我想使用枚举,所以我创建它:

[Flags]
public enum EventMessageTypes
{
    None = 0,
    aaa = 1, 
    bbb = 2, 
    ccc = 4, 
    ddd = 8, 
    eee = 16,
    fff = …
Run Code Online (Sandbox Code Playgroud)

c# enums flags

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

正确的方法将8个bool转换为1个字节

简单的问题:考虑到bool(true,false)与位(1,0)相同,在C#中将8个bool转换为字节的正确方法是什么?

例子:

true,true,true,true,true,true,true,true == 11111111 == 255

true,false,false,false,false,false,false,false == 10000000 == 128

false,false,false,false,false,false,false,false == 00000000 == 0

以上是第一部分.我想创建一个扩展方法,如下所示:

    public static byte[] ToByteArray(this bool[] bitArray)
    {
          // stuff here
          return byteArray;    
    }
Run Code Online (Sandbox Code Playgroud)

结果必须是byteArray,其元素比bool数组少八倍.

c# optimization byte boolean

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

标签 统计

c# ×3

boolean ×1

byte ×1

enums ×1

flags ×1

java ×1

math ×1

optimization ×1