C# Track Summary

story, bites and repositories of C# code

"C# is designed to be a platform-neutral language, a workhorse for cross-platform applications."
- Anders Hejlsberg, creator of C#

Figure 1. C# demo code

1. What is C#?

C# is a general-purpose, type-safe, object-oriented language that compiles to Common Intermediate Language (CIL) bytecode and runs on the .NET Common Language Runtime (CLR). The CLR provides automatic memory management through garbage collection, just-in-time compilation to native code, and a rich reflection API. C# targets Windows, Linux, and macOS from a single codebase and is the primary language for ASP.NET web services, WPF and MAUI desktop/mobile applications, Unity games, and Azure cloud functions. Three defining characteristics: C# was designed by Anders Hejlsberg at Microsoft and first appeared in 2000. The language is standardised (ECMA-334 / ISO/IEC 23270) and its compiler, runtime, and libraries are fully open-source on GitHub under the .NET Foundation.

2. Track Contents

The C# track offers three complementary learning pathways plus supporting reference material.
Pathway Description Entry Point
C# Story A comprehensive narrative covering C# from first principles through advanced topics. Chapters: Prologue, Models, Survey, Data, Operations, Classes, Class Relationships, Generics, Reflection, Libraries, Streams, Collections, Interesting, and New Things (C# 11–13). Best for readers who want a complete, linear progression. Prologue
C# Bites Focused pages each covering a single language feature or concept. Pages form an ordered sequence but also work as stand-alone references. The Pages menu lets you jump directly to any topic. Introduction
Repositories Documented C# code repositories illustrating real programs - parsers, directory navigators, blocking queues, dependency analysis, WPF demonstrations, and more. Each page discusses the design and links to the GitHub source. Repositories
Other Resources References page, online playground, and the Microsoft C# documentation portal. dotnetfiddle
Microsoft docs

3. Key Language Concepts

The track covers the areas below, roughly from foundational to advanced.

Types and the .NET Type System

Everything in C# is rooted in System.Object. Understanding value types, reference types, and how the CLR stores and copies them is the first step to writing correct, efficient C#. Pages: Data, Models, Bites: Data.

Classes and Object-Oriented Programming

C# classes combine encapsulation, inheritance, and polymorphism with modern additions such as properties, init-only setters, and primary constructors. Pages: Classes, Class Relationships.

Generics

C# generics produce a single type-safe definition that the CLR specialises for each type argument at runtime - no code duplication and no boxing for value types. Pages: Generics, Collections Library.

LINQ and Functional Patterns

Language-Integrated Query (LINQ) is a composable, lazy pipeline of operations over any IEnumerable<T> or IQueryable<T> source. Pages: Operations, Interesting.

Async/Await and Concurrency

The async/await model transforms a method into a state machine that suspends at I/O boundaries without blocking a thread - the primary pattern for scalable servers and responsive UIs. Pages: Interesting, New Things.

Base Class Library and NuGet

The BCL ships with every .NET installation and covers most common programming tasks. NuGet extends it with thousands of community and Microsoft packages. Pages: Libraries, Streams Library, Collections Library, Reflection.

4. Getting Started

Recommended first steps for someone new to C#:
  1. Install the .NET SDK (version 8 or later). On Windows you may prefer Visual Studio Community (free), which bundles the SDK, debugger, and full IDE. On any platform, Visual Studio Code with the C# extension is an excellent lightweight alternative.
  2. Create a first project with the dotnet CLI: dotnet new console -n Hello && cd Hello && dotnet run. This confirms the tool chain works before writing any real code.
  3. Read C# Bites: Introduction for an overview of what makes C# distinctive and what the track covers.
  4. Work through Bites: Hello C#, then experiment on dotnetfiddle.net for quick online experiments without a local project.
  5. Follow the C# Bites sequence page by page, or read the C# Story in parallel for deeper narrative context.

5. References

Resource Description
Microsoft C# docs Official language reference, tutorials, and "What's new" pages for every C# version.
BCL API reference Complete .NET Base Class Library API documentation with examples.
dotnetfiddle.net Browser-based C# REPL - run and share snippets without a local install.
sharplab.io See the IL, JIT assembly, or decompiled C# that the compiler produces for any snippet.
Tour of C# Microsoft's introductory tour of all major C# features - a good first reading.
NuGet.org The official .NET package repository - search and discover community libraries.
csharplang on GitHub The C# language design repository - proposals, meeting notes, and the language specification.
Stack Overflow C# Large Q&A archive - an excellent first stop when debugging unfamiliar behaviour.
Track References page Curated list of additional blogs, books, and videos from this site.