What are generics in C#?

๐Ÿ’ก Concept: Generics in C#

Generics allow you to define classes, methods, and data structures with placeholders for the type of data they store or use.

๐Ÿ“˜ Quick Intro

Generics increase type safety and reduce the need for casting by allowing types to be specified at compile time.

๐Ÿง  Analogy

Think of generics like templates for containers that can hold any type, ensuring safety and reusability.

๐Ÿ”ง Technical Explanation

  • โš™๏ธ Generics are declared with angle brackets <T> representing type parameters.
  • ๐Ÿ“š Enable code reuse for multiple data types.
  • ๐Ÿ”’ Provide compile-time type safety.
  • ๐Ÿš€ Improve performance by avoiding boxing/unboxing.
  • ๐Ÿ› ๏ธ Used in collections like List<T>, Dictionary<TKey, TValue>, etc.

๐ŸŽฏ Use Cases

  • โœ… Creating reusable data structures.
  • โœ… Writing type-safe algorithms.
  • โœ… Avoiding runtime type errors.
  • โœ… Enhancing performance in collections.

๐Ÿ’ป Code Example


using System;
using System.Collections.Generic;

class Program {
    static void Main() {
        List<string> names = new List<string>();
        names.Add(""Alice"");
        names.Add(""Bob"");

        foreach (var name in names) {
            Console.WriteLine(name);
        }
    }
}

โ“ Interview Q&A

Q1: What are generics?
A: Templates for types to enable code reuse.

Q2: How do generics improve type safety?
A: Types are checked at compile time.

Q3: What problem do generics solve?
A: Avoids casting and runtime errors.

Q4: Name some generic collections.
A: List<T>, Dictionary<TKey, TValue>.

Q5: Can generics improve performance?
A: Yes, by avoiding boxing/unboxing.

Q6: What symbol is used for generics?
A: Angle brackets <>.

Q7: Are generics limited to classes?
A: No, methods and interfaces can be generic.

Q8: Can generics be constrained?
A: Yes, with constraints like where T : class.

Q9: What is type parameter?
A: A placeholder type in generic declarations.

Q10: Can you create generic delegates?
A: Yes.

๐Ÿ“ MCQs

Q1. What are generics?

  • Specific types
  • Templates for types
  • Variables
  • Constants

Q2. How do generics improve type safety?

  • Runtime checking
  • Compile-time checking
  • No checking
  • None

Q3. What problem do generics solve?

  • Type inference
  • Avoid casting
  • Serialization
  • Reflection

Q4. Name generic collections.

  • ArrayList
  • List<T>, Dictionary<TKey, TValue>
  • Hashtable
  • Queue

Q5. Can generics improve performance?

  • No
  • Yes
  • Sometimes
  • Never

Q6. Symbol for generics?

  • Curly braces {}
  • Parentheses ()
  • Angle brackets <>
  • Square brackets []

Q7. Are generics limited to classes?

  • Yes
  • No
  • Only structs
  • Only interfaces

Q8. Can generics be constrained?

  • No
  • Yes
  • Sometimes
  • Never

Q9. What is type parameter?

  • Concrete type
  • Placeholder type
  • Instance
  • Variable

Q10. Can you create generic delegates?

  • No
  • Yes
  • Sometimes
  • Always

๐Ÿ’ก Bonus Insight

Generics enable writing flexible, reusable, and efficient code in C# by abstracting over data types.

๐Ÿ“„ 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