Опубликован: 02.03.2007 | Уровень: специалист | Доступ: свободно | ВУЗ: Российский Государственный Технологический Университет им. К.Э. Циолковского
Лекция 12:
Коллекции. Параметризованные классы
BitArray
Неполный перечень свойств и методов приводится ниже.
| BitArray | Перегружен. Инициализирует новый экземпляр класса BitArray, для которого могут быть указаны емкость и начальные значения |
| Count | Возвращает число элементов, которое хранится в классе BitArray |
| IsReadOnly | Возвращает значение, определяющее, доступен ли класс BitArray только для чтения |
| IsSynchronized | Возвращает значение, определяющее, является ли доступ к классу BitArray синхронизированным (потокобезопасным) |
| Item | Возвращает или задает значение бита по указанному адресу в классе BitArray В языке C# это свойство является индексатором класса BitArray |
| Length | Возвращает или задает число элементов в классе BitArray |
| SyncRoot | Возвращает объект, который может быть использован для синхронизации доступа к классу BitArray |
Пример использования:
using System;
using System.Collections;
public class SamplesBitArray {
public static void Main() {
// Creates and initializes several BitArrays.
BitArray myBA1 = new BitArray( 5 );
BitArray myBA2 = new BitArray( 5, false );
byte[] myBytes = new byte[5] { 1, 2, 3, 4, 5 };
BitArray myBA3 = new BitArray( myBytes );
bool[] myBools = new bool[5] { true, false, true, true, false };
BitArray myBA4 = new BitArray( myBools );
int[] myInts = new int[5] { 6, 7, 8, 9, 10 };
BitArray myBA5 = new BitArray( myInts );
// Displays the properties and values of the BitArrays.
Console.WriteLine( "myBA1" );
Console.WriteLine( "\tCount: {0}", myBA1.Count );
Console.WriteLine( "\tLength: {0}", myBA1.Length );
Console.WriteLine( "\tValues:" );
PrintValues( myBA1, 8 );
Console.WriteLine( "myBA2" );
Console.WriteLine( "\tCount: {0}", myBA2.Count );
Console.WriteLine( "\tLength: {0}", myBA2.Length );
Console.WriteLine( "\tValues:" );
PrintValues( myBA2, 8 );
Console.WriteLine( "myBA3" );
Console.WriteLine( "\tCount: {0}", myBA3.Count );
Console.WriteLine( "\tLength: {0}", myBA3.Length );
Console.WriteLine( "\tValues:" );
PrintValues( myBA3, 8 );
Console.WriteLine( "myBA4" );
Console.WriteLine( "\tCount: {0}", myBA4.Count );
Console.WriteLine( "\tLength: {0}", myBA4.Length );
Console.WriteLine( "\tValues:" );
PrintValues( myBA4, 8 );
Console.WriteLine( "myBA5" );
Console.WriteLine( "\tCount: {0}", myBA5.Count );
Console.WriteLine( "\tLength: {0}", myBA5.Length );
Console.WriteLine( "\tValues:" );
PrintValues( myBA5, 8 );
}
public static void PrintValues( IEnumerable myList, int myWidth )
{
System.Collections.IEnumerator myEnumerator = myList.GetEnumerator();
int i = myWidth;
while ( myEnumerator.MoveNext() )
{
if ( i <= 0 )
{
i = myWidth;
Console.WriteLine();
}
i--;
Console.Write( "\t{0}", myEnumerator.Current );
}
Console.WriteLine();
}
}
Листинг
12.2.
Результат:
myBA1
Count: 5
Length: 5
Values:
False False False False False
myBA2
Count: 5
Length: 5
Values:
False False False False False
myBA3
Count: 40
Length: 40
Values:
True False False False False False False False
False True False False False False False False
True True False False False False False False
False False True False False False False False
True False True False False False False False
myBA4
Count: 5
Length: 5
Values:
True False True True False
myBA5
Count: 160
Length: 160
Values:
False True True False False False False False
False False False False False False False False
False False False False False False False False
False False False False False False False False
True True True False False False False False
False False False False False False False False
False False False False False False False False
False False False False False False False False
False False False True False False False False
False False False False False False False False
False False False False False False False False
False False False False False False False False
True False False True False False False False
False False False False False False False False
False False False False False False False False
False False False False False False False False
False True False True False False False False
False False False False False False False False
False False False False False False False False
False False False False False False False False
Листинг
12.3.
Queue
Неполный перечень свойств и методов.
| Count | Возвращает число элементов, которое хранится в классе Queue |
| SyncRoot | Получает объект, который может быть использован для синхронизации доступа к классу Queue |
Пример:
using System;
using System.Collections;
public class SamplesQueue
{
public static void Main()
{
// Creates and initializes a new Queue.
Queue myQ = new Queue();
myQ.Enqueue("Россия,");
myQ.Enqueue("вперед");
myQ.Enqueue("!");
// Displays the properties and values of the Queue.
Console.WriteLine( "myQ" );
Console.WriteLine( "\tCount: {0}", myQ.Count );
Console.Write( "\tValues:" );
PrintValues( myQ );
}
public static void PrintValues( IEnumerable myCollection )
{
System.Collections.IEnumerator myEnumerator
= myCollection.GetEnumerator();
while ( myEnumerator.MoveNext() )
Console.Write( "\t{0}", myEnumerator.Current );
}
}
Листинг
12.4.
Результат:
myQ
Count: 3
Values: Россия , вперед !