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

Learn More About C# ๐Ÿ“š

1. What is C#? ๐Ÿ‘‰ Explained
2. Main Features of C# ๐Ÿ‘‰ Explained
3. Difference Between C# and Java ๐Ÿ‘‰ Explained
4. Common Language Runtime (CLR) in C# ๐Ÿ‘‰ Explained
5. Common Type System (CTS) in C# ๐Ÿ‘‰ Explained
6. Common Language Specification (CLS) in C# ๐Ÿ‘‰ Explained
7. Value Types vs Reference Types in C# ๐Ÿ‘‰ Explained
8. What is a Namespace in C#? ๐Ÿ‘‰ Explained
9. Purpose of the 'using' Keyword in C# ๐Ÿ‘‰ Explained
10. Different Data Types in C# ๐Ÿ‘‰ Explained
11. Difference Between int and Int32 in C# ๐Ÿ‘‰ Explained
12. Difference Between float, double, and decimal in C# ๐Ÿ‘‰ Explained
13. What is the Default Value of a Boolean in C#? ๐Ÿ‘‰ Explained
14. What is Boxing and Unboxing in C# ๐Ÿ‘‰ Explained
15. What are the Different Types of Operators in C# ๐Ÿ‘‰ Explained
16. Difference Between Equals and == in C# ๐Ÿ‘‰ Explained
17. What is the Null-Coalescing Operator ?? in C# ๐Ÿ‘‰ Explained
18. What is the Ternary Operator in C# ๐Ÿ‘‰ Explained
19. How Does the Switch Statement Work in C# ๐Ÿ‘‰ Explained
20. What is Object-Oriented Programming in C# ๐Ÿ‘‰ Explained
21. What are the Four Pillars of OOP in C# ๐Ÿ‘‰ Explained
22. What is Encapsulation in C# ๐Ÿ‘‰ Explained
23. What is Inheritance in C# ๐Ÿ‘‰ Explained
24. What is Polymorphism in C# ๐Ÿ‘‰ Explained
25. What is Abstraction in C# ๐Ÿ‘‰ Explained
26. What is an Abstract Class in C# ๐Ÿ‘‰ Explained
27. What is an Interface in C# ๐Ÿ‘‰ Explained
28. Can a Class Implement Multiple Interfaces in C#? ๐Ÿ‘‰ Explained
29. Difference Between Abstract Class and Interface in C# ๐Ÿ‘‰ Explained
30. How Do You Create a Class in C#? ๐Ÿ‘‰ Explained
31. What is a Constructor in C# ๐Ÿ‘‰ Explained
32. What Are the Types of Constructors in C# ๐Ÿ‘‰ Explained
33. What is a Static Constructor in C# ๐Ÿ‘‰ Explained
34. Difference Between Static and Non-Static Members in C# ๐Ÿ‘‰ Explained
35. What is the Use of 'this' Keyword in C# ๐Ÿ‘‰ Explained
36. What is a Destructor in C# ๐Ÿ‘‰ Explained
37. What is Object Initializer Syntax in C# ๐Ÿ‘‰ Explained
38. What is the Difference Between Field and Property in C# ๐Ÿ‘‰ Explained
Share:

Tags:


Feedback Modal Popup