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!