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.
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 coursePractice this course →Add to a study plan →Interview questions →
C# & .NET Fundamentals
What .NET is, variables and interpolation, and control flow.
- 15 min
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.
- 18 min
Variables, Types, and String Interpolation
Declaring variables with explicit types and `var`, C#'s basic types, and string interpolation.
- 18 min
Control Flow: if, for, foreach, and switch Expressions
C#'s if/else, for and foreach loops, and modern switch expressions.
Object-Oriented C#
Classes and properties, interfaces and inheritance, and access modifiers.
- 20 min
Classes, Properties, and Constructors
Defining classes, auto-implemented properties, and constructors.
- 20 min
Interfaces and Inheritance
Explicit interface implementation with `:`, and single-class inheritance.
- 18 min
Encapsulation and Access Modifiers
Controlling visibility with public, private, protected, and internal.
Modern C# Features
Nullable reference types, LINQ, and collections.
- 20 min
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
LINQ: Where and Select
Querying a collection declaratively with LINQ's Where and Select methods.
- 18 min
Collections: List<T> and Dictionary<TKey, TValue>
C#'s most commonly used generic collections, and the TryGetValue lookup pattern.
Async & Project Structure
Async/await with Task, exception handling, and .NET project structure.
- 25 min
Async and Await with Task
C#'s asynchronous programming model, and why it exists.
- 18 min
Exception Handling: try, catch, and finally
C#'s exception-based error model, and how it contrasts with returning explicit error values.
- 15 min
.NET Project Structure and the dotnet CLI
The .csproj file, NuGet packages, and the everyday dotnet CLI commands.