C# | Enumerator that iterates through the BitArray Last Updated : 11 Jul, 2025 Comments Improve Suggest changes Like Article Like Report The BitArray class manages a compact array of bit values, which are represented as Booleans, where true indicates that the bit is on i.e, 1 and false indicates the bit is off i.e, 0. This class is contained in System.Collections namespace. BitArray.GetEnumerator method is used to get an enumerator which iterates through the BitArray. Properties: The BitArray class is a collection class in which the capacity is always the same as the count. Elements are added to a BitArray by increasing the Length property. Elements are deleted by decreasing the Length property. The BitArray class provides methods like And, Or, Xor, Not, and SetAll. Elements in this collection can be accessed using an integer index. Indexes in this collection are zero-based. Syntax: public System.Collections.IEnumerator GetEnumerator (); Return Value: This method returns an IEnumerator for the entire BitArray. Below programs illustrate the use of BitArray.GetEnumerator Method: Example 1: CSHARP // C# code to return an enumerator // that iterates through the BitArray using System; using System.Collections; class GFG { // Driver code public static void Main() { // Creating a BitArray myBitArr // Initializing all the values to true BitArray myBitArr = new BitArray(5, true); // Function calling PrintIndexAndValues(myBitArr); } // Function to display bits public static void PrintIndexAndValues(IEnumerable myArr) { foreach(Object obj in myArr) { Console.WriteLine(obj); } } } Output: True True True True True Example 2: CSHARP // C# code to return an enumerator // that iterates through the BitArray using System; using System.Collections; class GFG { // Driver code public static void Main() { // Creating a BitArray myBitArr BitArray myBitArr = new BitArray(5); // Initializing all the bits in myBitArr myBitArr[0] = false; myBitArr[1] = true; myBitArr[2] = true; myBitArr[3] = false; myBitArr[4] = true; // Function calling PrintIndexAndValues(myBitArr); } // Function to display bits public static void PrintIndexAndValues(IEnumerable myArr) { foreach(Object obj in myArr) { Console.WriteLine(obj); } } } Output: False True True False True Note: The foreach statement of the C# language hides the complexity of the enumerators. Therefore, using foreach is recommended, instead of directly manipulating the enumerator. Enumerators can be used to read the data in the collection, but they cannot be used to modify the underlying collection. An enumerator remains valid as long as the collection remains unchanged. If changes are made to the collection, such as adding, modifying, or deleting elements, the enumerator is irrecoverably invalidated and its behavior is undefined. This method is an O(1) operation. Reference: https://learn.microsoft.com/en-us/dotnet/api/system.collections.bitarray.getenumerator?view=netframework-4.7.2 Create Quiz Comment S Sahil_Bansall Follow 0 Improve S Sahil_Bansall Follow 0 Improve Article Tags : C# CSharp-method CSharp-Collections-Namespace CSharp-Collections-BitArray Explore IntroductionC# Tutorial 2 min read Introduction to .NET Framework 6 min read C# .NET Framework (Basic Architecture and Component Stack) 6 min read C# Hello World 2 min read Common Language Runtime (CLR) in C# 4 min read FundamentalsC# Identifiers 2 min read Data Types in C# 6 min read C# Variables 4 min read C# Literals 5 min read Operators in C# 7 min read C# Keywords 5 min read Control StatementsC# Decision Making (if, if-else, if-else-if ladder, nested if, switch, nested switch) 5 min read C# Switch Statement 4 min read Loops in C# 4 min read C# Jump Statements (Break, Continue, Goto, Return and Throw) 4 min read OOP ConceptsClass and Objects in C# 4 min read Constructors in C# 5 min read C# Inheritance 3 min read Encapsulation in C# 2 min read C# Abstraction 4 min read MethodsMethods in C# 4 min read Method Overloading in C# 4 min read Method Parameters in C# 4 min read Method Overriding in C# 7 min read Anonymous Method in C# 2 min read ArraysArrays in C# 6 min read Jagged Arrays in C# 4 min read Array Class in C# 5 min read How to Sort an Array in C# | Array.Sort() Method Set - 1 8 min read How to find the rank of an array in C# 2 min read ArrayListArrayList in C# 6 min read ArrayList Class in C# 4 min read C# | Array vs ArrayList 2 min read StringStrings in C# 6 min read C# Verbatim String Literal - @ 5 min read C# String Class 9 min read C# StringBuilder 2 min read C# String vs StringBuilder 3 min read TupleC# Tuple 7 min read C# Tuple Class 3 min read C# ValueTuple 7 min read C# ValueTuple Struct 4 min read IndexersC# Indexers 5 min read C# Multidimensional Indexers 5 min read C# - Overloading of Indexers 3 min read Like