
Steven Giesel
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.
Featured Partners
Related Videos
 39:56
39:56Turbocharged: Writing High-Performance C# and .NET Code
Steve Gordon
 41:54
41:54Hacking C# from the inside - how to do anything in NET
Adam Furmanek
 12:52
12:525 features that help you get the most out of C# 10
Louëlla Creemers
 41:21
41:21Building a Compiler with C#
Florian Rappl
 38:45
38:45C# 13 Unleashed: Live Demos of my Top 10 Cutting-Edge Features!
Ambesh Singh & Sachin Kumar
 31:13
31:13Tips, tricks and quirks in .NET
Paweł Łukaszuk
 24:13
24:13C++ Features You Might Not Know
Jonathan Müller
 27:04
27:04Modern C#: A Dive into the Community's Most Loved new Features.
Louëlla Creemers
From learning to earning
Jobs that call for the skills explored in this talk.
Software Developer - C# .NetCore, TypeScript
Coburg Banks
Bickenhill, United Kingdom
€50-60K
Intermediate
.NET
REST
TypeScript
Entity Framework
Power Platform - Low Code Developer
Prodware
Municipality of Madrid, Spain
Intermediate
Microsoft Dynamics
C# Software Developer
Redline Group
Woking, United Kingdom
Intermediate
CSS
JavaScript
TypeScript
Microsoft SQL Server





