• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# Collections.BitArray类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中System.Collections.BitArray的典型用法代码示例。如果您正苦于以下问题:C# BitArray类的具体用法?C# BitArray怎么用?C# BitArray使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



BitArray类属于System.Collections命名空间,在下文中一共展示了BitArray类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: AsyncResult

 internal AsyncResult(string message, int ftpCode, int result)
 {
     m_result = new BitArray(3);
     m_message = message;
     m_ftpResponse = ftpCode;
     m_result[result] = true;
 }
开发者ID:avs009,项目名称:gsf,代码行数:7,代码来源:AsyncResult.cs


示例2: MakeADTree

        private ADNode MakeADTree(int i, BitArray recordNums, int depth, Varset variables)
        {
            // since this is index i, there are (variableCount - i) remaining variables.
            // therefore, it will have that many children
            int count = 0;
            for(int idx = 0; idx < recordNums.Count; idx++)
            {
                if (recordNums[idx])
                {
                    count += 1;
                }
            }
            ADNode adn = new ADNode(network.Size() - i, count);

            // check if we should just use a leaf list
            if (adn.Count < rMin)
            {
                BitArray leafList = new BitArray(recordNums);
                adn.LeafList = leafList;
                return adn;
            }

            // for each of the remaining variables
            for (int j = i; j < network.Size(); j++)
            {
                // create a vary node
                variables.Set(j, true);
                Varset newVariables = new Varset(variables);
                VaryNode child = MakeVaryNode(j, recordNums, depth, newVariables);
                adn.SetChild(j - i, child);
            }

            return adn;
        }
开发者ID:shskwmt,项目名称:UrlearningCS,代码行数:34,代码来源:AdTree.cs


示例3: Mutate

        /*
        // It mutates the Chromosome
        //
        // @input probability is a double >=0 and <=100
        */
        public bool Mutate(double probability)
        {
            if (probability < 0) probability = 0;
            if (probability > 100) probability = 100;
            bool isMutated = false;
            for (int counter = 0; counter<nucleotideList.Count; counter++)
            {
                byte myByte = nucleotideList[counter];
                //var bits = new BitArray(myByte);
                var bits = new BitArray(new byte[] { myByte });
                //Cycle for change the single bit of the DNA
                for (int i = 0; i < bits.Length; i++)
                {
                    Random r = new Random(Guid.NewGuid().GetHashCode());
                    if (r.NextDouble() < (probability / 100))
                    {
                        bits[i] = !bits[i]; //the mutation switch the bit
                        isMutated = true;
                    }
                }
                //From BitArray to Byte[]
                byte[] ret = new byte[bits.Length / 8];
                bits.CopyTo(ret, 0);

                //Assigning the new Byte[] to the nucleotide
                nucleotideList[counter] = ret[0];
            }
                
            return isMutated;
        }
开发者ID:mpatacchiola,项目名称:evoface,代码行数:35,代码来源:Chromosome.cs


示例4: Setup

        private void Setup()
        {
            // Fill Bit arrays

            chka = new[] {
                flag_0001,flag_0002,flag_0003,flag_0004,flag_0005,
                flag_2237,flag_2238,flag_2239,
                flag_0115,flag_0963, // Mewtwo
                flag_0114,flag_0790, // Zygarde
                flag_0285,flag_0286,flag_0287,flag_0288,flag_0289, // Statuettes
                flag_0290,flag_0291,flag_0292,flag_0293,flag_0294, // Super Unlocks
                flag_0675, // Chatelaine 50
                flag_2546, // Pokedex
            };
            byte[] data = new byte[0x180];
            Array.Copy(Main.SAV.Data, Main.SAV.EventFlag, data, 0, 0x180);
            BitArray BitRegion = new BitArray(data);
            BitRegion.CopyTo(flags, 0);

            // Setup Event Constant Editor
            CB_Stats.Items.Clear();
            for (int i = 0; i < Constants.Length; i += 2)
            {
                CB_Stats.Items.Add($"0x{i.ToString("X3")}");
                Constants[i / 2] = BitConverter.ToUInt16(Main.SAV.Data, Main.SAV.EventConst + i);
            }
            CB_Stats.SelectedIndex = 0;

            // Populate Flags
            setup = true;
            popFlags();
        }
开发者ID:Bluestar012,项目名称:PKHeX,代码行数:32,代码来源:SAV_EventFlagsXY.cs


示例5: CompleteGraph

 public CompleteGraph(int n)
 {
     if (n <= 0)
         throw new ArgumentOutOfRangeException("[CompleteGraph Constructor] Input size of CompleteGraph must be positive");
     this.nodes = n;
     this.edges = new BitArray(n * (n - 1) / 2);
 }
开发者ID:paulraff,项目名称:2016JointMeetings,代码行数:7,代码来源:CompleteGraph.cs


示例6: GetBoolArrayFromByte

 public static bool[] GetBoolArrayFromByte(byte[] bytes)
 {
     bool[] bools = new bool[bytes.Length * 8];
     BitArray bits = new BitArray(bytes);
     bits.CopyTo(bools, 0);
     return bools;
 }
开发者ID:remy22,项目名称:soundfingerprinting,代码行数:7,代码来源:ArrayUtils.cs


示例7: SlabAllocator

        public SlabAllocator(int pageSize, int pageCount)
        {
            _pageSize = pageSize;
            _totalSize = pageCount * pageSize;

            _allocationMap = new BitArray(pageCount);
        }
开发者ID:martindevans,项目名称:Earmark,代码行数:7,代码来源:SlabAllocator.cs


示例8: DoPrevSetBit

 internal virtual void DoPrevSetBit(BitArray a, LongBitSet b)
 {
     int aa = a.Count + Random().Next(100);
     long bb = aa;
     do
     {
         //aa = a.PrevSetBit(aa-1);
         aa--;
         while ((aa >= 0) && (!a.SafeGet(aa)))
         {
             aa--;
         }
         if (b.Length() == 0)
         {
             bb = -1;
         }
         else if (bb > b.Length() - 1)
         {
             bb = b.PrevSetBit(b.Length() - 1);
         }
         else if (bb < 1)
         {
             bb = -1;
         }
         else
         {
             bb = bb >= 1 ? b.PrevSetBit(bb - 1) : -1;
         }
         Assert.AreEqual(aa, bb);
     } while (aa >= 0);
 }
开发者ID:ChristopherHaws,项目名称:lucenenet,代码行数:31,代码来源:TestLongBitSet.cs


示例9: GetBitmapData

		/// <summary>
		/// get the B&W 1BPP bitmap for a bmp file 
		/// </summary>
		/// <param name="bmpFileName">
		/// </param>
		/// <returns>
		/// </returns>
        private static BitmapDotData GetBitmapData(string bmpFileName)
        {
            Image img = new Bitmap(bmpFileName); 
            using (var bitmap = new Bitmap(img))// (Bitmap)Bitmap.FromFile(bmpFileName))
            {
                var threshold = 127;
                var index = 0;
                var dimensions = bitmap.Width * bitmap.Height;
                var dots = new BitArray(dimensions);

                for (var y = 0; y < bitmap.Height; y++)
                {
                    for (var x = 0; x < bitmap.Width; x++)
                    {
                        var color = bitmap.GetPixel(x, y);
                        var luminance = (int)(color.R * 0.3 + color.G * 0.59 + color.B * 0.11);
                        dots[index] = (luminance < threshold);
                        index++;
                    }
                }

                return new BitmapDotData()
                    {
                        Dots = dots,
                        Height = bitmap.Height,
                        Width = bitmap.Width
                    };
            }
        }
开发者ID:andrejpanic,项目名称:win-mobile-code,代码行数:36,代码来源:BitimageClass.cs


示例10: ArrayFieldOfView

 public ArrayFieldOfView(IFovBoard<IHex> board)
 {
     _isOnboard = h => board.IsOnboard(h);
     _fovBacking = new BitArray[board.MapSizeHexes.Width];
     for (var i = 0; i < board.MapSizeHexes.Width; i++)
         _fovBacking[i] = new BitArray(board.MapSizeHexes.Height);
 }
开发者ID:VaultDwe11er,项目名称:Warhammer-Campaign,代码行数:7,代码来源:FieldOfView.cs


示例11: TM1638ButtonsMessageReader

 private void TM1638ButtonsMessageReader(IList<int> messageData)
 {
     int readPos = 1;
     for (int u = 1; u <= this.numberUnits; u++)
     {
         if (this.tm1640Units[u - 1])
         {
             continue;
         }
         this.buttonsRead = messageData[readPos++];
         if (this.buttonsRead != -1)
         {
             this.butByte[0] = Convert.ToByte(this.buttonsRead);
             this.buttons = new BitArray(this.butByte);
             for (var i = 0; i < Constants.NumberButtonsOnTm1638; i++)
             {
                 if (this.buttons[i])
                 {
                     if (this.ButtonPress == null) throw new ArgumentNullException();
                     ButtonPressEventHandler temp = this.ButtonPress;
                     if (temp != null)
                     {
                         temp(u, i+1);
                     }
                 }
             }
         }
     }
 }
开发者ID:tobig82,项目名称:iRduino,代码行数:29,代码来源:ArduinoMessagesReceiving.cs


示例12: GetCombines

        static IList<string> GetCombines(string str)
        {
            var result = new List<string>();
            var arr = str.Split(',');
            var numItem = arr.Length;

            for (int i = 1; i <= Math.Pow(2, numItem); i++)
            {
                string temp = null;
                BitArray b = new BitArray(new int[] { i });
                for (int j = 0; j < numItem; j++)
                {
                    if (b[j])
                    {
                        if (temp != null)
                        {
                            temp += ",";
                        }

                        temp += arr[j];
                    }
                }

                if (!string.IsNullOrEmpty(temp))
                {
                    result.Add(temp);
                }
            }

            return result;
        }
开发者ID:cupidshen,项目名称:misc,代码行数:31,代码来源:Program.cs


示例13: GetByteArrayFromBool

 /// <summary>
 ///   Get bytes array from Boolean values.
 /// </summary>
 /// <param name = "array">Array to be packed</param>
 /// <returns>Bytes array</returns>
 public static byte[] GetByteArrayFromBool(bool[] array)
 {
     BitArray b = new BitArray(array);
     byte[] bytesArr = new byte[array.Length / 8];
     b.CopyTo(bytesArr, 0);
     return bytesArr;
 }
开发者ID:eugentorica,项目名称:soundfingerprinting,代码行数:12,代码来源:ArrayUtils.cs


示例14: WriteBitArray

        private static void WriteBitArray(ObjectWriter writer, BitArray bitArray)
        {
            // Our serialization format doesn't round-trip bit arrays of non-byte lengths
            Contract.ThrowIfTrue(bitArray.Length % 8 != 0);

            writer.WriteInt32(bitArray.Length / 8);

            // This will hold the byte that we will write out after we process every 8 bits. This is
            // LSB, so we push bits into it from the MSB.
            byte b = 0;

            for (var i = 0; i < bitArray.Length; i++)
            {
                if (bitArray[i])
                {
                    b = (byte)(0x80 | b >> 1);
                }
                else
                {
                    b >>= 1;
                }

                if ((i + 1) % 8 == 0)
                {
                    // End of a byte, write out the byte
                    writer.WriteByte(b);
                }
            }
        }
开发者ID:Rickinio,项目名称:roslyn,代码行数:29,代码来源:BloomFilter_Serialization.cs


示例15: ExtendToSizeRight

 /// <summary>
 /// aaa -> 000aaa
 /// </summary>
 /// <param name="to">Reference to array to put the result</param>
 /// <param name="bitArray">Array from where to put</param>
 /// <param name="p">Size of the new array</param>
 private void ExtendToSizeRight(ref BitArray to, BitArray bitArray, int p)
 {
     if (to == null)
         to = new BitArray(p, false);
     for (int i = 0; i < bitArray.Length; i++)
         to[i] = bitArray[i];
 }
开发者ID:Frosne,项目名称:SShA,代码行数:13,代码来源:Program.cs


示例16: ReadValues

        protected override AnalogicDataRegisterDE ReadValues(FileStream fstream, string Name, long HeaderLen, DateTime dateHourMinute)
        {
            AnalogicDataRegisterDE measurement;
            DateTime DataDosValores;
            char[] Dbuffer;

            BitArray myBA;

            fstream.Position = HeaderLen - DataDosValoresLen;

            Dbuffer = new char[DataDosValoresLen];
            r.Read(Dbuffer,0,DataDosValoresLen);
            DataDosValores = ConvertDateTime.DateVmsToDateTime(Dbuffer,"pt-BR");

            fstream.Position = HeaderLen + ((int) htHeader[Name] * NumBValGr);
            float measAux = r.ReadSingle();
            float estimAux = r.ReadSingle();
            byte[] BBuffer = new byte[NumBValGr - 8];
            BBuffer = r.ReadBytes(NumBValGr - 8);

            if(BBuffer.Length > 1)
            {
                byte[] aux = new byte[1];
                aux[0] = BBuffer[1];
                myBA = new BitArray(aux);
            }
            else myBA = new BitArray(BBuffer);

            if(DataDosValores.Date == dateHourMinute.Date)
                measurement = new AnalogicDataRegisterDE(dateHourMinute,Name,measAux,estimAux,myBA);
            else
                measurement = new AnalogicDataRegisterDE(Name,dateHourMinute,true);

            return measurement;
        }
开发者ID:rfcordeiro,项目名称:indicadorAr,代码行数:35,代码来源:IntegratedDataRegisterReader.cs


示例17: ESieve

        public static int[] ESieve(int upperLimit)
        {
            int sieveBound = (int)(upperLimit - 1) / 2;
            int upperSqrt = ((int)Math.Sqrt(upperLimit) - 1) / 2;

            BitArray PrimeBits = new BitArray(sieveBound + 1, true);

            for (int i = 1; i <= upperSqrt; i++)
            {
                if (PrimeBits.Get(i))
                {
                    for (int j = i * 2 * (i + 1); j <= sieveBound; j += 2 * i + 1)
                    {
                        PrimeBits.Set(j, false);
                    }
                }
            }

            List<int> numbers = new List<int>((int)(upperLimit / (Math.Log(upperLimit) - 1.08366)));
            numbers.Add(2);

            for (int i = 1; i <= sieveBound; i++)
            {
                if (PrimeBits.Get(i))
                {
                    numbers.Add(2 * i + 1);
                }
            }

            return numbers.ToArray();
        }
开发者ID:dstites,项目名称:Project-Euler,代码行数:31,代码来源:Utilities.cs


示例18: GenerateHeader

        public static Byte[] GenerateHeader(Boolean fin, Boolean rsv1, Boolean rsv2, Boolean rsv3, Boolean opt4, Boolean opt3, Boolean opt2, Boolean opt1, Boolean mask)
        {
            Boolean[] header1 = new Boolean[8];
            header1[7] = fin;
            header1[6] = rsv1;
            header1[5] = rsv2;
            header1[4] = rsv3;
            header1[3] = opt4;
            header1[2] = opt3;
            header1[1] = opt2;
            header1[0] = opt1;

            Boolean[] header2 = new Boolean[8];
            header2[7] = mask;
            header2[6] = false;
            header2[5] = false;
            header2[4] = false;
            header2[3] = false;
            header2[2] = false;
            header2[1] = false;
            header2[0] = false;


            BitArray bitArray1 = new BitArray(header1);
            Byte[] byteHead = new Byte[2];
            bitArray1.CopyTo(byteHead, 0);

            BitArray bitArray2 = new BitArray(header2);
            bitArray2.CopyTo(byteHead, 1);

            return byteHead;
        }
开发者ID:papci,项目名称:WebSocketListener,代码行数:32,代码来源:With_WebSocketFrameHeaderFlags.cs


示例19: GetByteArrayFromBool

 /// <summary>
 ///   Get bytes bools from Boolean values.
 /// </summary>
 /// <param name = "bools">Array to be packed</param>
 /// <returns>Bytes bools</returns>
 public static byte[] GetByteArrayFromBool(bool[] bools)
 {
     BitArray bits = new BitArray(bools);
     byte[] bytes = new byte[bools.Length / 8];
     bits.CopyTo(bytes, 0);
     return bytes;
 }
开发者ID:remy22,项目名称:soundfingerprinting,代码行数:12,代码来源:ArrayUtils.cs


示例20: verificarPermissao

        public static bool verificarPermissao(Type tipoEntidadeVerificar, string chavePerfilCripto)
        {
            bool resultadoVerificacao = false;
            BitArray arrayChaveDecripto = null;
            byte[] preChavePerfilDecripto = new byte[ControladorAcesso.tamanhoChavePerfil];
            bool[] chavePerfilDecripto = new bool[ControladorAcesso.tamanhoChavePerfil];
            Criptografador cripto = new Criptografador();

            preChavePerfilDecripto = cripto.decriptografarTexto(ref chavePerfilCripto);

            arrayChaveDecripto = new BitArray(preChavePerfilDecripto);
            arrayChaveDecripto.Length = ControladorAcesso.tamanhoChavePerfil;

            arrayChaveDecripto.CopyTo(chavePerfilDecripto, 0);

            foreach (object atributo in tipoEntidadeVerificar.GetCustomAttributes(true))
                if (atributo.GetType().Name.Equals("PerfilAcesso"))
                {
                    long CodigoPerfil = long.Parse(atributo.GetType().GetField("CodigoPerfil").
                                                                      GetValue(atributo).ToString());

                    resultadoVerificacao = chavePerfilDecripto[CodigoPerfil];
                    break;
                }

            return resultadoVerificacao;
        }
开发者ID:angelacheredia,项目名称:ROPSQL,代码行数:27,代码来源:ControleAcesso.cs



注:本文中的System.Collections.BitArray类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Collections.CaseInsensitiveComparer类代码示例发布时间:2022-05-26
下一篇:
C# Collections.ArrayList类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap