MyPage is a personalized page based on your interests.The page is customized to help you to find content that matters you the most.

I'm not curious

C# Language Internals - Part 1

Course Summary

This course takes .NET developers behind the scenes of C# language features to gain a deeper understanding of the language, the Intermediate Language (IL) it compiles into, and the Common Language Runtime (CLR) it runs on. By studying language internals,

  • +

    Course Syllabus

    ● Essential Techniques
        ◦ Why Behind the Scenes Matters
        ◦ Hello World Example
        ◦ Inspecting IL Code
        ◦ Using ILDASM and ILSpy
        ◦ Inspecting Runtime State
        ◦ Using WinDbg and SOS
        ◦ Summary
    ● The CLR and IL in a Nutshell
        ◦ Introduction to Intermediate Language (IL)
        ◦ Essential IL Instructions
        ◦ Local Variables in IL
        ◦ Basic IL Instructions and Branches
        ◦ Analyzing Branches in ILDASM
        ◦ Call Instructions and Call Stacks
        ◦ Exceptions, Objects, and Arrays
        ◦ The Role of JIT Compilation
        ◦ Seeing JIT Compilation in Action in WinDbg
        ◦ JIT Optimizations
        ◦ Summary
    ● C# Compiler Tidbits
        ◦ Overview of C# Compiler Settings
        ◦ Optimization Techniques used by the C# Compiler
        ◦ Branch Optimizations
        ◦ Inspecting Branching for Loops in ILDASM
        ◦ Specifying Compilation Targets
        ◦ Inside Windows Runtime Modules
        ◦ Constraining Target Platform Architectures
        ◦ Language Versions
        ◦ Assembly References
        ◦ Introducing Portable Library
        ◦ Type Forwarders in ILDASM
        ◦ Summary
    ● Performance of Imperative C# Code
        ◦ Compile-Time Constants and Array Initializers
        ◦ Inspecting Array Initializers in ILDASM
        ◦ The Essentials of Switch Statements
        ◦ Optimizations of Switch Statements
        ◦ Analyzing Switch Statements in ILDASM
        ◦ Switch Statements with Strings
        ◦ Behind the Scenes of Switch Statements for Strings in ILDASM
        ◦ Final Remarks about Switch Statements
        ◦ The Essentials of Events
        ◦ Compiler-Generated Add and Remove Accessors
        ◦ Building a Custom Event Manager
        ◦ Windows Runtime Event Support in C# 5.0
        ◦ Summary
    ● Performance of Functional C# Code
        ◦ Anonymous Methods under the Hood
        ◦ Intermezzo on Compiler-Generated Names
        ◦ Lambda Expressions and Homoiconicity
        ◦ Inspecting Anonymous Methods in ILDASM
        ◦ Introduction to Closures
        ◦ Display Classes Behind the Scenes
        ◦ Closures and Space Leaks
        ◦ Debugging a Space Leak using WinDbg and SOS
        ◦ Scoping of Foreach Loop Variables in Closures
        ◦ Analyzing Foreach Loop Variable Scoping in ILDASM
        ◦ Summary
        ◦ Leveraging C# Extensibility Points, Part 1
        ◦ Syntactic Sugar in C#
        ◦ Foreach Statement and the Enumeration Pattern
        ◦ Typing in Foreach Statements
        ◦ Operator Overloading in a Nutshell
        ◦ Domain Specific Languages (DSLs) using Operator Overloading
        ◦ Building a Small Internal DSL
        ◦ Lifted Nullable Operators
        ◦ Query Expressions and the Query Pattern
        ◦ LINQ to Anything Implementation Techniques
        ◦ Building a Simple Query Provider
        ◦ How Traditional Query Providers Work

Course Fee:
USD 29

Course Type:


Course Status:



1 - 4 hours / week

This course is listed under Development & Implementations and Telecommunications Community

Attended this course?

Back to Top

Awards & Accolades for MyTechLogy
Winner of
Top 100 Asia
Finalist at SiTF Awards 2014 under the category Best Social & Community Product
Finalist at HR Vendor of the Year 2015 Awards under the category Best Learning Management System
Finalist at HR Vendor of the Year 2015 Awards under the category Best Talent Management Software
Hidden Image Url

Back to Top