What is a List<T> in C#?
๐ก Concept: List<T> in C#
List<T> is a generic collection class in C# that provides a dynamically sized list of strongly typed objects.
๐ Quick Intro
Unlike arrays, List<T> can grow or shrink dynamically and offers many useful methods for managing collections.
๐ง Analogy
Think of List<T> as a resizable array or a shopping list that can expand as you add more items.
๐ง Technical Explanation
- ๐ List<T> is part of System.Collections.Generic namespace.
- โ๏ธ Internally uses an array but resizes automatically when capacity is exceeded.
- ๐ Supports add, remove, search, sort, and enumeration.
- ๐ ๏ธ Provides better performance than ArrayList due to type safety.
- ๐ก Suitable for collections when size changes dynamically.
๐ฏ Use Cases
- โ Managing collections with dynamic size.
- โ When you need type-safe, resizable arrays.
- โ For efficient add/remove/search operations.
- โ Preferred over non-generic collections like ArrayList.
๐ป Code Example
using System;
using System.Collections.Generic;
class Program {
static void Main() {
List<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);
numbers.Add(3);
foreach (int num in numbers) {
Console.WriteLine(num);
}
}
}

โ Interview Q&A
Q1: What is List<T>?
A: A generic resizable list collection.
Q2: How is List<T> different from arrays?
A: Lists resize dynamically; arrays have fixed size.
Q3: What namespace contains List<T>?
A: System.Collections.Generic.
Q4: Can List<T> store different data types?
A: No, it is strongly typed.
Q5: How to add items to a List<T>?
A: Use Add method.
Q6: How to iterate over a List<T>?
A: Use foreach loop.
Q7: Does List<T> allow duplicates?
A: Yes.
Q8: Is List<T> thread-safe?
A: No, synchronization needed.
Q9: How to remove items?
A: Use Remove or RemoveAt methods.
Q10: Can List<T> be sorted?
A: Yes, using Sort method.
๐ MCQs
Q1. What is List<T>?
- Fixed array
- Generic resizable list
- Hashtable
- Queue
Q2. Difference from arrays?
- Fixed size
- Dynamic resizing
- No resizing
- No difference
Q3. Namespace of List<T>?
- System.IO
- System.Collections.Generic
- System.Text
- System.Net
Q4. Can store different types?
- Yes
- No
- Sometimes
- Always
Q5. How to add items?
- Insert
- Add method
- Push
- Enqueue
Q6. Iterate list?
- for loop
- foreach loop
- while loop
- do-while loop
Q7. Allows duplicates?
- No
- Yes
- Maybe
- Never
Q8. Is thread-safe?
- Yes
- No
- Sometimes
- Always
Q9. Remove items?
- Delete
- Remove methods
- Pop
- Dequeue
Q10. Can be sorted?
- No
- Yes
- Sometimes
- Never
๐ก Bonus Insight
List<T> is a fundamental collection type in C#, widely used for its flexibility and performance.
๐ PDF Download
Need a handy summary for your notes? Download this topic as a PDF!