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!

๐Ÿ” Navigation

๐Ÿ’ฌ Feedback
๐Ÿš€ Start Learning
Share:

Tags: