C# Language Internals - Part 2
Pluralsight
Course Summary
The second part of the C# Language Internals course continues our journey of the inner workings of the C# programming language and the CLR.
-
+
Course Description
In the second part of this course, we take .NET developers behind the scenes of advanced C# language features to get a deeper insight into the language, the Intermediate Language (IL) it compiles into, and the Common Language Runtime (CLR) it runs on. By studying language internals, you can make better design choices involving advanced language features, solve hard debugging puzzles quicker, and understand the performance ramifications of these language features. This is the second part of a two-part course.
-
+
Course Syllabus
Investigating Iterators- 38m 21s
—Introducing Iterators 3m 49s
—The State Machine Behind Iterators 4m 34s
—Looking at a Simple Iterator in ILSpy 6m 16s
—Iterators Returning IEnumerable 3m 24s
—Object Lifetimes in Iterators 1m 45s
—Analyzing Space Leaks With SOS 6m 37s
—Tidbits About Iterators 4m 49s
—Building a LINQ Debugger Using Iterators 5m 40s
—Summary 1m 23sAsynchronous Methods- 38m 27s
—Recap of Asynchronous Methods 2m 52s
—Asynchronous Method Builders 2m 24s
—Under the Hood of Asynchronous Method Builders 8m 17s
—The Role of Await Expressions 3m 29s
—Revisiting the Awaiter Pattern 3m 18s
—The Compilation of Await Expressions 7m 54s
—Stack Spilling Explained 2m 37s
—Demonstrating Stack Spilling 5m 49s
—Summary 1m 43sExpression Trees- 42m 5sDynamic Programming in C#- 39m 57sHidden Gems in System.Runtime.CompilerServices- 38m 55sCOM Interop, No PIA, and WinRT- 42m 22sNot-So Secret Language Features- 38m 50s