Using Built-in Collections like Lists, Dictionaries, and Queues

The C# programming language provides built-in collections to help manage and organize data efficiently. These collections, such as lists, dictionaries, and queues, offer various data structures and useful operations. In this article, we will explore how to make the best use of these built-in collections.


Lists are a fundamental data structure in programming, and C# offers the List<T> class to handle them conveniently. Lists allow storing and accessing elements in a specific order. To use lists in C#, you need to import the System.Collections.Generic namespace.

Creating a list is simple:

using System.Collections.Generic;

// ...

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

Here, we have declared a list named numbers that can store integers. Now, let's add some elements to the list:


You can also add multiple elements with a single statement:

numbers.AddRange(new int[] { 4, 5, 6 });

Accessing elements in a list is straightforward using the index:

int firstNumber = numbers[0]; // Retrieves the first element (1)
int thirdNumber = numbers[2]; // Retrieves the third element (3)

Lists provide various methods to manipulate elements, such as removing, inserting, or sorting. Explore the official documentation to learn more about these operations.


Dictionaries are collection types that store key-value pairs. The C# Dictionary<TKey, TValue> class offers an efficient way to handle dictionaries. Similar to lists, you need to import the System.Collections.Generic namespace to use dictionaries.

Let's see an example of creating a dictionary:

using System.Collections.Generic;

// ...

Dictionary<string, int> ageDict = new Dictionary<string, int>();

In this case, we have a dictionary named ageDict that maps names (keys) to their corresponding ages (values). Adding elements to a dictionary is achieved by using the Add method:

ageDict.Add("Alice", 30);
ageDict.Add("Bob", 25);

To access a value in the dictionary, you can use the key as an indexer:

int aliceAge = ageDict["Alice"]; // Retrieves Alice's age (30)

Dictionaries offer efficient searching and retrieval using keys, making them suitable for applications that require fast access to specific values.


Queues are a fundamental concept in computer science that adhere to the "first in, first out" (FIFO) principle. The C# Queue<T> class represents a queue data structure.

To use queues, you also need to import the System.Collections.Generic namespace:

using System.Collections.Generic;

// ...

Queue<string> namesQueue = new Queue<string>();

In the example above, we create a queue named namesQueue capable of storing strings. Adding elements to a queue is done using the Enqueue method:


To process elements in the queue, you can use the Dequeue method, which removes and returns the next element:

string firstInLine = namesQueue.Dequeue(); // Retrieves "Alice"

Queues are frequently used for solving problems where ordering matters, such as task or job scheduling.


Built-in collections play a crucial role in managing and manipulating data efficiently in C# programs. Lists, dictionaries, and queues are just a few examples, but there are more available in C# to cater to specific needs. Remember to consult the official documentation for a complete understanding of each collection's methods and operations. Happy coding!

© NoobToMaster - A 10xcoder company