Steven Giesel

C# Lowering - What is it and why should I care?

The C# compiler turns one `yield` keyword into an entire state machine. Learn how this hidden process impacts your code's performance and memory usage.

C# Lowering - What is it and why should I care?
#1about 7 minutes

Defining C# lowering and its benefits

C# lowering is the process of transforming high-level language features into simpler constructs, which simplifies the compiler and ensures predictable performance.

#2about 3 minutes

Subtle differences in property getter implementations

The `var` keyword is lowered to its inferred type, while expression-bodied properties can introduce subtle behavioral changes compared to traditional getters.

#3about 4 minutes

How `foreach` is lowered for arrays versus lists

A `foreach` loop is lowered to an index-based `while` loop for arrays but uses the `IEnumerable` pattern with a `try-finally` block for lists, impacting performance.

#4about 2 minutes

The danger of using `async` without `await` in `using` blocks

Combining `IDisposable` with an `async` call without `await` can lead to the object being disposed before the asynchronous operation completes.

#5about 9 minutes

Understanding the `yield` keyword and its performance

The `yield` keyword generates a state machine class to enable deferred execution, trading slower per-item runtime for significantly lower memory allocation.

Related jobs
Jobs that call for the skills explored in this talk.
SabIna compys

SabIna compys
Vienna, Austria

Remote
20-100K
Intermediate
JavaScript
.NET
+1

Featured Partners

Related Articles

View all articles
CH
Chris Heilmann
Dev Digest 134 - Where pixels sing?
News and ArticlesWeAreDevelopers LIVE Data and Security Day is on Wednesday, 25/09/2024. Learn about OPC UA Updates, Best Practices for Using GitHub Secrets, Passwordless Web 1.5, Emerging AI Security Risks, Data Privacy in LLMs and get a chance to t...
Dev Digest 134 - Where pixels sing?
BB
Benedikt Bischof
Get Old, go Slow, Write Code!
Welcome to the newest series of the WeAreDevelopers Magazine – Dev Talk Recap. This article recaps an interesting talk by Tobias Modig who gave advice about getting old(er) as a developer and slowing down. What you will learn:Thoughts of the speaker ...
Get Old, go Slow, Write Code!

From learning to earning

Jobs that call for the skills explored in this talk.

C# Developer

Pearson Whiffin Recruitment Ltd

Remote
30-45K
Intermediate
.NET Core
Microservices