代码之家  ›  专栏  ›  技术社区  ›  Haim Evgi

c#-表示位字段中的整数数组

  •  0
  • Haim Evgi  · 技术社区  · 15 年前

    我有一个整数数组

    int [] intArray;
    intArray = new int[3] { 1, 2 , 40 , 45 , 50};
    

    数组包含从1到50的数字

    我想把这个数组转换成

    100001000010000............11
    

    我能在c#做这个吗?

    1 回复  |  直到 15 年前
        1
  •  2
  •   cdhowie    15 年前
    long bitField = 0;
    
    foreach (int bit in intArray)
        bitField |= 1l << (bit - 1);
    

    此答案根据您的问题假设1位数字。如果希望0引用第一位,只需更改 (bit - 1) bit .