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.
Matching moments
07:30 MIN
Practical examples of reducing software's footprint
Introducing Green IT practices to a large Software Company
02:38 MIN
Exploring the five levels of tiered compilation
Just-in-time Compilation in JVM
01:53 MIN
Exploring C# code with Roslyn and LINQPad
Building a Compiler with C#
02:35 MIN
Overview of modern C# community-loved features
Modern C#: A Dive into the Community's Most Loved new Features.
02:48 MIN
A brief history of C# from version 1 to 12
C# 13 Unleashed: Live Demos of my Top 10 Cutting-Edge Features!
02:13 MIN
Introduction to five key features in C# 10
5 features that help you get the most out of C# 10
04:20 MIN
Understanding the Roslyn compiler platform for C#
Building a Compiler with C#
05:27 MIN
Using a compiler approach to reduce framework code
To New Frontiers: The Future of Frontend Development
Featured Partners
Related Videos
Turbocharged: Writing High-Performance C# and .NET Code
Steve Gordon
Hacking C# from the inside - how to do anything in NET
Adam Furmanek
5 features that help you get the most out of C# 10
Louëlla Creemers
Building a Compiler with C#
Florian Rappl
C# 13 Unleashed: Live Demos of my Top 10 Cutting-Edge Features!
Ambesh Singh & Sachin Kumar
C++ Features You Might Not Know
Jonathan Müller
Tips, tricks and quirks in .NET
Paweł Łukaszuk
Modern C#: A Dive into the Community's Most Loved new Features.
Louëlla Creemers
Related Articles
View all articles



From learning to earning
Jobs that call for the skills explored in this talk.

Daisytuner GmbH
Darmstadt, Germany
C++
Python
Machine Learning


Jane Street's Ocaml
Charing Cross, United Kingdom


Simplify Group
Leicester, United Kingdom
Remote
£45-50K
GIT
.NET
Azure
+12




Siemens Digital Industries Software
München, Germany
Python
low-code
Salesforce
Data analysis
Machine Learning