Tutorials C# & .NET 8 Architect Mastery

Primary Constructors & Collection Expressions

On this page

Modern C# 12: Elegance & Speed

C# 12 (released with .NET 8) is all about reducing "Boilerplate." It allows you to express complex ideas with significantly less code, making your codebase easier to maintain.

1. Primary Constructors

Historically, you had to define a constructor and manually assign fields. Now, you can define parameters directly on the class header:

public class UserService(IDbContext db, ILogger logger) {
    public void Save() => logger.Log("Saving to " + db.Name);
}
**Architect Tip:** Primary constructors automatically create "Private Fields" for you, but be careful—they are mutable! Use them primarily for Dependency Injection in services.

2. Collection Expressions

No more `new List() { 1, 2 }`. Just use brackets.

List list = [1, 2, 3];
int[] array = [4, 5, 6];
Span span = [7, 8, 9];
The compiler is smart enough to optimize the memory allocation based on the target type. It even supports the **Spread Operator** (..) to merge collections.

4. Interview Mastery

Q: "Why should you use 'Default Lambda Parameters' in C# 12?"

Architect Answer: "Before C# 12, lambdas didn't support default values. Now they do: `(int x = 1) => x + 1`. This makes it much easier to write 'Minimal APIs' and 'Route Handlers' in ASP.NET Core without needing overloads for every possible parameter combination. it keeps your API definition clean and concise."

Questions on this lesson 0

Sign in to ask a question or upvote helpful answers.

No questions yet — be the first to ask!

C# & .NET 8 Architect Mastery
Course syllabus
1. Memory Management & Performance
2. Advanced Asynchronous Programming
3. Modern C# 12+ Features
4. Enterprise Design Patterns in .NET
5. Dynamic Programming & Reflection
6. Testing & Quality Architecture
7. Modern Web API Architectures
8. FAANG .NET Architect Interview
Toolliyo Assistant
Ask about tutorials, ebooks, training, pricing, mentor services, and support. I use public site content only—not admin or internal tools.

care@toolliyo.com

Need callback? Share your details