C # Punktanordnungen (BitArray)
BitArray Klasse verwaltet eine kompakte Anordnung von Bit-Werten, die einen Booleschen Wert verwendet, wo wahr ein wenig anzeigt, auf (1), falsche Darstellung Bit ausgeschaltet ist (0).
Wenn benötigen Sie das Bit zu speichern, aber ich weiß nicht, die Anzahl der Bits im Voraus, eine Reihe von Punkten verwendet wird. Sie könneneinen Integer - Indexverwenden , um die Anordnung von der Sammelstelle fürdenZugriff auf den Index von Grund auf neu.
Klasse Methoden und Eigenschaften BitArray
In der folgenden Tabelle sind einige der gemeinsamenBitArray Klasse Attribute:
属性 | 描述 |
---|---|
Count | 获取 BitArray 中包含的元素个数。 |
IsReadOnly | 获取一个值,表示 BitArray 是否只读。 |
Item | 获取或设置 BitArray 中指定位置的位的值。 |
Length | 获取或设置 BitArray 中的元素个数。 |
Die folgende Tabelle enthält einige der häufigstenMethoden BitArrayKlasse:
序号 | 方法名 & 描述 |
---|---|
1 | public BitArray And(
BitArray value
);
对当前的 BitArray 中的元素和指定的 BitArray 中的相对应的元素执行按位与操作。 |
2 | public bool Get(
int index
);
获取 BitArray 中指定位置的位的值。 |
3 | public BitArray Not(); 把当前的 BitArray 中的位值反转,以便设置为 true 的元素变为 false,设置为 false 的元素变为 true。 |
4 | public BitArray Or(
BitArray value
);
对当前的 BitArray 中的元素和指定的 BitArray 中的相对应的元素执行按位或操作。 |
5 | public void Set(
int index,
bool value
);
把 BitArray 中指定位置的位设置为指定的值。 |
6 | public void SetAll(
bool value
);
把 BitArray 中的所有位设置为指定的值。 |
7 | public BitArray Xor(
BitArray value
);
对当前的 BitArray 中的元素和指定的 BitArray 中的相对应的元素执行按位异或操作。 |
Beispiele
Das folgende Beispiel zeigt die Punktanordnung (BitArray) verwenden:
using System; using System.Collections; Namespace CollectionsApplication { Klasse-Programm { static void Main (string [] args) { // Erstellen Sie zwei Arrays der Größe 8 Punkte BitArray BA1 = new BitArray (8); BitArray BA2 = new BitArray (8); byte [] a = {60}; byte [] b = {13}; // Der Wert von 60 und 13 speichert einen Punkt Array BA1 = new BitArray (a); BA2 = new BitArray (b); // Ba1 Gehalt an Console.WriteLine ( "Bit-Array-BA1: 60"); for (int i = 0; i <ba1.Count; i ++) { Console.Write ( "{0, -6}", BA1 [i]); } Console.WriteLine (); // Ba2 Gehalt an Console.WriteLine ( "Bit-Array BA2: 13"); for (int i = 0; i <ba2.Count; i ++) { Console.Write ( "{0, -6}", ba2 [i]); } Console.WriteLine (); BitArray ba3 = new BitArray (8); BA3 = ba1.And (BA2); // Ba3 Gehalt an Console.WriteLine ( "Bit-Array ba3 nach UND-Verknüpfung: 12"); for (int i = 0; i <ba3.Count; i ++) { Console.Write ( "{0, -6}", BA3 [i]); } Console.WriteLine (); BA3 = ba1.Or (BA2); // Ba3 Gehalt an Console.WriteLine ( "Bit-Array ba3 nach ODER-Verknüpfung: 61"); for (int i = 0; i <ba3.Count; i ++) { Console.Write ( "{0, -6}", BA3 [i]); } Console.WriteLine (); Console.ReadKey (); } } }
Wenn der obige Code kompiliert und ausgeführt wird, erzeugt es die folgenden Ergebnisse:
Bit-Array-BA1: 60 False False True True True True False False Bit-Array BA2: 13 True False True True False False False False Bit-Array ba3 nach UND-Verknüpfung: 12 False False True True False False False False Bit-Array ba3 nach ODER-Verknüpfung: 61 True False True True False False False False