本文整理汇总了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));
}
}
示例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;
}
示例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);
}
示例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
}
示例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) ) )
//.........这里部分代码省略.........
示例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
//.........这里部分代码省略.........
示例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
}
//.........这里部分代码省略.........