当前位置: 首页>>代码示例>>C#>>正文


C# BitArray.SetAll方法代码示例

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


在下文中一共展示了BitArray.SetAll方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: SetAll

        public static void SetAll(int size, bool defaultValue)
        {
            BitArray bitArray = new BitArray(6, defaultValue);
            bitArray.SetAll(!defaultValue);
            for (int i = 0; i < bitArray.Length; i++)
            {
                Assert.Equal(!defaultValue, bitArray[i]);
                Assert.Equal(!defaultValue, bitArray.Get(i));
            }

            bitArray.SetAll(defaultValue);
            for (int i = 0; i < bitArray.Length; i++)
            {
                Assert.Equal(defaultValue, bitArray[i]);
                Assert.Equal(defaultValue, bitArray.Get(i));
            }
        }
开发者ID:SGuyGe,项目名称:corefx,代码行数:17,代码来源:BitArray_GetSetTests.cs

示例2: Start

    // Use this for initialization
    void Start () {
        playing = new BitArray(clips.Length);
        playing.SetAll(false);
        int clipId = getNextClipId();
        asources[0].clip = clips[clipId];
        asources[0].Play();
        playing.Set(clipId, true);
        playingCount = 1;    	
	}
开发者ID:Mangatome,项目名称:WeTookOutStephen,代码行数:10,代码来源:MusicMixer.cs

示例3: Main

    static void Main()
    {
        int topCandidate = 10000000;        // 10 000 000
        int totalCount = 0;
        BitArray myBA1 = new BitArray(topCandidate + 1);

        /* Set all but 0 and 1 to prime status */
        myBA1.SetAll(true);
        myBA1[0] = myBA1[1] = false;

        /* Mark all the non-primes */
        int thisFactor = 2;
        int lastSquare = 0;
        int thisSquare = 0;

        while (thisFactor * thisFactor <= topCandidate)
        {
            /* Mark the multiples of this factor */
            int mark = thisFactor + thisFactor;
            while (mark <= topCandidate)
            {
                myBA1[mark] = false;
                mark += thisFactor;
            }

            /* Print the proven primes so far */
            thisSquare = thisFactor * thisFactor;
            for (; lastSquare < thisSquare; lastSquare++)
            {
                if (myBA1[lastSquare]) totalCount++;
            }

            /* Set thisfactor to next prime */
            thisFactor++;
            while (!myBA1[thisFactor]) { thisFactor++; }
        }

        /* Print the remaining primes */
        for (; lastSquare <= topCandidate; lastSquare++)
        {
            if (myBA1[lastSquare]) { totalCount++; }
        }

        Console.WriteLine("Total prime numbers in range [1...{0}] = {1}", topCandidate, totalCount);
    }
开发者ID:kizisoft,项目名称:TelerikAcademy,代码行数:45,代码来源:PrimeNumbers.cs

示例4: CompressChannel

    void CompressChannel(MegaMorph mr, MegaMorphChan mc)
    {
        // for now change system to work off mapping, just have 1 to 1 mapping to test its working

        mc.mapping = new int[mr.oPoints.Length];

        for ( int i = 0; i < mr.oPoints.Length; i++ )
        {
            mc.mapping[i] = i;
        }
        #if false
        BitArray modded = new BitArray(mr.oPoints.Length);

        modded.SetAll(false);

        for ( int t = 0; t < mc.mTargetCache.Count; t++ )
        {
            MegaMorphTarget mt = mc.mTargetCache[t];

            for ( int i = 0; i < mr.oPoints.Length; i++ )
            {
                if ( mt.points[i] != mr.oPoints[i] )	// Have a threshold for this
                {
                    modded[i] = true;
                    break;
                }
            }
        }

        List<int>	points = new List<int>();

        for ( int i = 0; i < modded.Count; i++ )
        {
            if ( modded[i] )
                points.Add(i);
        }

        // points now holds indexes of morphed verts for the channel, so now need to collapse points
        Vector3[] pts = new Vector3[points.Count];

        for ( int t = 0; t < mc.mTargetCache.Count; t++ )
        {
            MegaMorphTarget mt = mc.mTargetCache[t];

            for ( int i = 0; i < points.Count; i++ )
            {
                pts[i] = mt.points[points[i]];
            }

            pts.CopyTo(mt.points, 0);
        }

        // If one target deal with deltas
        #endif
    }
开发者ID:schonstal,项目名称:madness,代码行数:55,代码来源:MegaMorphEditor.cs

示例5: runTest

 public virtual bool runTest()
 {
     System.Console.Error.WriteLine( "BitArray- Co1557SetAll runTest started." );
     int iCountErrors = 0;
     int iCountTestcases = 0;
     int i2 = -2;
     bool b2 = false;
     BitArray ba2 = null;
     BitArray ba4 = null;
     i2 = 6;
     ba2 = new BitArray( i2 ,false );
     ++iCountTestcases;
     if ( ba2.Get( 0 ) )
     {
         ++iCountErrors;
         System.Console.Error.WriteLine( "Co1557SetAll Error E_545wi!" );
     }
     ++iCountTestcases;
     if ( ba2.Get( (i2 - 1) ) )
     {
         ++iCountErrors;
         System.Console.Error.WriteLine( "Co1557SetAll Error E_319hf!" );
     }
     ba2.SetAll( true );
     ++iCountTestcases;
     if ( ! ba2.Get( 0 ) )
     {
         ++iCountErrors;
         System.Console.Error.WriteLine( "Co1557SetAll Error E_446hf!" );
     }
     ++iCountTestcases;
     if ( ! ba2.Get( (i2 - 1) ) )
     {
         ++iCountErrors;
         System.Console.Error.WriteLine( "Co1557SetAll Error E_667aa!" );
     }
     i2 = 6;
     ba2 = new BitArray( i2 ,true );
     ++iCountTestcases;
     if ( ! ba2.Get( 0 ) )
     {
         ++iCountErrors;
         System.Console.Error.WriteLine( "Co1557SetAll Error E_965dd!" );
     }
     ++iCountTestcases;
     if ( ! ba2.Get( (i2 - 1) ) )
     {
         ++iCountErrors;
         System.Console.Error.WriteLine( "Co1557SetAll Error E_443sw!" );
     }
     ba2.SetAll( true );
     ++iCountTestcases;
     if ( ! ba2.Get( 0 ) )
     {
         ++iCountErrors;
         System.Console.Error.WriteLine( "Co1557SetAll Error E_979uy!" );
     }
     ++iCountTestcases;
     if ( ! ba2.Get( (i2 - 1) ) )
     {
         ++iCountErrors;
         System.Console.Error.WriteLine( "Co1557SetAll Error E_118ju!" );
     }
     i2 = 6;
     ba2 = new BitArray( i2 ,false );
     ++iCountTestcases;
     if ( ba2.Get( 0 ) )
     {
         ++iCountErrors;
         System.Console.Error.WriteLine( "Co1557SetAll Error E_747tr!" );
     }
     ++iCountTestcases;
     if ( ba2.Get( (i2 - 1) ) )
     {
         ++iCountErrors;
         System.Console.Error.WriteLine( "Co1557SetAll Error E_235vc!" );
     }
     ba2.SetAll( false );
     ++iCountTestcases;
     if ( ba2.Get( 0 ) )
     {
         ++iCountErrors;
         System.Console.Error.WriteLine( "Co1557SetAll Error E_005gh!" );
     }
     ++iCountTestcases;
     if ( ba2.Get( (i2 - 1) ) )
     {
         ++iCountErrors;
         System.Console.Error.WriteLine( "Co1557SetAll Error E_739wn!" );
     }
     i2 = 0x1000F;
     ba2 = new BitArray( i2 ,true );
     ++iCountTestcases;
     if ( ! ba2.Get( 0 ) )
     {
         ++iCountErrors;
         System.Console.Error.WriteLine( "Co1557SetAll Error E_945wx!" );
     }
     ++iCountTestcases;
     if ( ! ba2.Get( (i2 - 1) ) )
//.........这里部分代码省略.........
开发者ID:gbarnett,项目名称:shared-source-cli-2.0,代码行数:101,代码来源:co1557setall.cs

示例6: GetData

        public short GetData()
        {
            //try
            //{
            BitArray ba = new BitArray(16);
            //Set all bits to 0
            ba.SetAll(false);

            /*
            Left border     00000001
            Right border    00000010
            Top border      00000100
            Bottom border   00001000
            Inside borders  00010000
            Outside borders 00100000
            Autocolor       01000000  If this bit is set, the color index in bits 12 to 15 is not used.
             */
            
            ba.Set(0, true); //this is always 0

            #region WHICH BORDERS
            if (_autocolor == true) ba.Set(1, true); 
            if (_outside == true) ba.Set(2, true);   
            if (_inside == true) ba.Set(3, true);
            if (_bottom == true) ba.Set(4, true);
            if (_top == true) ba.Set(5, true);
            if (_right == true) ba.Set(6, true);
            if (_left == true) ba.Set(7, true);
            #endregion

            #region BORDER STYLE
            /*
            0000   None
            0001   3/4 point
            0010   11/2 point
            0011   21/4 point
            0100   3 point
            0101   41/2 point
            0110   6 point
            0111   3/4 point double
            1000   11/2 point double
            1001   21/4 point double
            1010   3/4 point gray
            1011   3/4 point gray dashed
            */

            switch (_style)
            {
                case ParaBorderStyle.None:
                    ba.Set(8, false); ba.Set(9, false); ba.Set(10, false); ba.Set(11, false);
                    break;
                case ParaBorderStyle.Point3_4:
                    ba.Set(8, false); ba.Set(9, false); ba.Set(10, false); ba.Set(11, true);
                    break;
                case ParaBorderStyle.Point11_2:
                    ba.Set(8, false); ba.Set(9, false); ba.Set(10, true); ba.Set(11, false);
                    break;
                case ParaBorderStyle.Point21_4:
                    ba.Set(8, false); ba.Set(9, false); ba.Set(10, true); ba.Set(11, true);
                    break;
                case ParaBorderStyle.Point3:
                    ba.Set(8, false); ba.Set(9, true); ba.Set(10, false); ba.Set(11, false);
                    break;
                case ParaBorderStyle.Point41_2:
                    ba.Set(8, false); ba.Set(9, true); ba.Set(10, false); ba.Set(11, true);
                    break;
                case ParaBorderStyle.Point6:
                    ba.Set(8, false); ba.Set(9, true); ba.Set(10, true); ba.Set(11, false);
                    break;
                case ParaBorderStyle.PointDouble3_4:
                    ba.Set(8, false); ba.Set(9, true); ba.Set(10, true); ba.Set(11, true);
                    break;
                case ParaBorderStyle.PointDouble11_2:
                    ba.Set(8, true); ba.Set(9, false); ba.Set(10, false); ba.Set(11, false);
                    break;
                case ParaBorderStyle.PointDouble21_4:
                    ba.Set(8, true); ba.Set(9, false); ba.Set(10, false); ba.Set(11, true);
                    break;
                case ParaBorderStyle.PointGray3_4:
                    ba.Set(8, true); ba.Set(9, false); ba.Set(10, true); ba.Set(11, false);
                    break;
                case ParaBorderStyle.PointGrayDashed3_4:
                    ba.Set(8, true); ba.Set(9, false); ba.Set(10, true); ba.Set(11, true);
                    break;
                default: // no borders
                    ba.Set(8, false); ba.Set(9, false); ba.Set(10, false); ba.Set(11, false); 
                    break;
            }
            #endregion

            #region BORDER COLOR

            /*
            0000    Black
            0001    Blue
            0010    Cyan
            0011    Green
            0100    Magenta
            0101    Red
            0110    Yellow
//.........这里部分代码省略.........
开发者ID:minhnguyen31093,项目名称:Reminiscent,代码行数:101,代码来源:ExtendedRichTextBox.cs

示例7: NodeCheckAction

    // 隣接判定、ノードごとの処理
    public void NodeCheckAction(NodeController.NodeLinkTaskChecker Tc, _eLinkDir Link)
    {
        NodeDebugLog += "NodeCheckAction. CheckerID : " + Tc.ID + "\n";
        // チェック済みでスキップ
        if (bChecked) { Tc.Branch--; return; }

        // 各種変数定義
        bool bBranch = false;
        bChecked = true;
        Tc.SumNode++;
        bChain = false;

        // お隣さんを更新
        UpdateNegibor();

        // 状態表示
        Tc += (ToString() + "Action \n     Link : " + bitLink.ToStringEx() + "\nNegibor : " + Negibor.ToStringEx());
        Tc += Tc.NotFin + " : " + Tc.Branch.ToString();

        // チェックスタート
        // 接地判定(根本のみ)
        if (Link == _eLinkDir.NONE)     // 根本か確認
        {
            if (!bitLink[(int)_eLinkDir.RD] && !bitLink[(int)_eLinkDir.LD]) // 下方向チェック
            {
                Tc.Branch--;
                Tc.SumNode--;
                bChecked = false;
                return;                 // 繋がってないなら未チェックとして処理終了
            }
            // 繋がっている
            Tc += ("Ground");
        }

        // この時点で枝が繋がっている事が確定
        bChain = true;
        Tc.NodeList.Add(this);  // チェッカに自身を登録しておく

        // 終端ノードであれば、周囲チェック飛ばす
        var TempBit = new BitArray(6);
        // 除外方向設定
        TempBit.SetAll(false);
        if (Link == _eLinkDir.NONE)
        {
            TempBit.Set((int)_eLinkDir.RD, true);
            TempBit.Set((int)_eLinkDir.LD, true);
        }
        else {
            TempBit.Set((int)Link, true);
        }
        TempBit.And(bitLink).Xor(bitLink);    // 自身の道とAND後、自身の道とXOR。
        if (TempBit.isZero())                  // 比較して一致なら除外方向以外に道がない = XOR後に全0なら終端
        {
            Tc.Branch--;                      // 終端ノードであればそこで終了
            return;
        }

        // 周囲のチェック
        // この時点で、TempBitは先が壁の道を除いた自分の道を示している。
        Tc += "ExcludeFrom MyWay : " + TempBit.ToStringEx();

        for (int n = 0; n < (int)_eLinkDir.MAX; n++)
        {
            var TempBit2 = new BitArray(6);
            // 隣接ノードのうち、道が無い場所に自分の道が伸びてたらそこは途切れている。
            TempBit2 = TempBit.retAnd(Negibor.retNot());
            // ノード繋がってない
            if (TempBit2[n])
            {
                nodeControllerScript.unChainController.AddObj(this, (_eLinkDir)n);
                Tc.NotFin = true;                               // 隣と繋がってないので、枝未完成として登録
            }
        }

        Tc += ("Negibor : " + Negibor.ToStringEx());
        TempBit.And(Negibor);                       // 隣接ノードと繋がっている場所を特定
        Tc += "Linked : " + TempBit.ToStringEx();
        for (int n = 0; n < (int)_eLinkDir.MAX; n++)
        {
            if (!TempBit[n]) { continue; }          // ビット立ってないならスキップ

            // お隣さんと繋がっているので、処理引き渡しの準備
            bChain = true;

            // デバック表示
            Tc += ("Linked [" + LinkDirToString(n) + "]");

            // 接続先がおかしいならノーカンで
            Vec2Int Target = nodeControllerScript.GetDirNode(nodeID, (_eLinkDir)n);
            if (Target.x == -1) { continue; }

            // 分岐を検出してカウント
            if (!bBranch)
            {
                bBranch = true;     // 一回目ならノーカン
            }
            else {
                Tc.Branch++;        // 二回目以降は分岐なので、枝カウンタを+1
            }
//.........这里部分代码省略.........
开发者ID:GotoK,项目名称:H401,代码行数:101,代码来源:Node.cs


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