C#/.NET Fundamentals

C#/.NET Fundamentals

A modern, statically-typed language and the .NET runtime behind it -- from language fundamentals through LINQ, async/await, and the dotnet CLI.

beginner12 lessons4 modules6h total

Who it's for

Learners with some prior programming experience who want a practical introduction to C# and the .NET ecosystem.

What you'll be able to do

  • Read and predict the behavior of real C# programs covering classes, interfaces, and collections
  • Explain nullable reference types, LINQ, and the async/await model, and why each exists
  • Describe .NET project structure and the dotnet CLI's core commands

Not started — 12 lessons, no account required.

Start this course

Practice this course →Add to a study plan →Interview questions

C# & .NET Fundamentals

What .NET is, variables and interpolation, and control flow.

  1. Introduction to C# and .NET

    What .NET is, how C# compiles to IL and runs on the CLR, and the shape of a minimal C# program.

    15 min
  2. Variables, Types, and String Interpolation

    Declaring variables with explicit types and `var`, C#'s basic types, and string interpolation.

    18 min
  3. Control Flow: if, for, foreach, and switch Expressions

    C#'s if/else, for and foreach loops, and modern switch expressions.

    18 min

Object-Oriented C#

Classes and properties, interfaces and inheritance, and access modifiers.

  1. Classes, Properties, and Constructors

    Defining classes, auto-implemented properties, and constructors.

    20 min
  2. Interfaces and Inheritance

    Explicit interface implementation with `:`, and single-class inheritance.

    20 min
  3. Encapsulation and Access Modifiers

    Controlling visibility with public, private, protected, and internal.

    18 min

Modern C# Features

Nullable reference types, LINQ, and collections.

  1. Nullable Reference Types and Null-Conditional/Coalescing Operators

    C#'s null-safety feature, plus the `?.` and `??` operators for working with possibly-null values.

    20 min
  2. LINQ: Where and Select

    Querying a collection declaratively with LINQ's Where and Select methods.

    20 min
  3. Collections: List<T> and Dictionary<TKey, TValue>

    C#'s most commonly used generic collections, and the TryGetValue lookup pattern.

    18 min

Async & Project Structure

Async/await with Task, exception handling, and .NET project structure.

  1. Async and Await with Task

    C#'s asynchronous programming model, and why it exists.

    25 min
  2. Exception Handling: try, catch, and finally

    C#'s exception-based error model, and how it contrasts with returning explicit error values.

    18 min
  3. .NET Project Structure and the dotnet CLI

    The .csproj file, NuGet packages, and the everyday dotnet CLI commands.

    15 min