Popular learning materials

All learning materials

C# for Beginners Video Series

Join Scott Hanselman and .NET Distinguished Engineer David Fowler as they teach us C# from the ground up!

Microsoft Learn - Take your first steps with C#

Interested in learning a programming language but aren't sure where to start? Start here! Learn the basic syntax and thought processes required to build simple applications using C#.

Microsoft Learn - Add logic to your applications with C#

Deepen your experience with C# logic and iteration statements, Boolean expressions, and code blocks in this Learning Path.

Microsoft Learn - Work with data in C#

Dive deeper into data and types, learning how to manipulate string and numeric data in this Learning Path.

What's new in C#

Learn what are the new features and enhancement in the C#

C# Concepts (Programming Guide)

Know C# language features, programming concepts and features accessible to C# through the .NET framework.

Language Integrated Query (LINQ) and IEnumerable

Learn what LINQ is, how to define a query expression, and how LINQ makes it easy to query any data source. In doing so, Scott and David explore declarative programming and deferred execution.

C# reference

Explore reference material about C# keywords, operators, special characters, preprocessor, directives, compiler options, and compiler errors and warnings.

C# tutorial for beginners

Learn the basics of C# syntax and how to work with data types like strings, numbers and booleans through these tutorials.

What is C#?

C# is an object-oriented programming language that enables developers to build a variety of secure and robust application that run on the .NET.

Hello World

Let's make our first C# Hello World console application and run it in Visual Studio Code!

OOP with derived or abstract classes, overrides

Let's dive deeper into Object Oriented Programming with our Person/Pet example. We currently have a Person class and a Pet Class. Scott and David build the blueprints to expand our Pet example with base classes, abstract classes, and derived classes.

Searching strings

Let's learn how to search for Strings. We will cover several string methods including Replace, Contains, ToUpper, Length, and give a brief description of how the compiler reads your C# code.

The Basics of Strings!

What is a string? How are characters "strung" together to make a string in C# and .NET? In this video, Scott and David show you how to declare a string, concatenate strings, use string interpolation, and trim whitespace.

Arrays, Lists, Indexing, and Foreach

David and Scott continue our conversation about Lists and another new topic, arrays! Learn about the similarities and differences between these structures and when to use each of them.

LINQ Query Expressions From, Where, Orderby, and Select

In this video, Scott and David dive into query expression basics. Discover the tools you can use to query data to find, filter, sort, or analyze data sources. Along the way, leverage the syntax you learned from previous videos in the series.

List T and Collections of Data

In this video, learn about managing data collections using List<T>. We have now used numbers and strings (in previous videos), but how are they stored? Let’s initialize a list, loop through the list, and explore these basic data structures in C# and .NET. Plus, get details about var and new.

For Loops

Let's learn about For Loops! These powerful structures may be intimidating at first, but David and Scott will show you how to harness this tool in your C# code.

Numbers, Precision, Casting, Doubles, and More

Scott and David continue their conversation of types and natural types with Doubles, Floats, and Decimals. They dive deep into numbers and precision with math in C# and the implications of storing numbers as different types.

Basics of VS Code and the C# Dev Kit

Scott and David introduce the Visual Studio Code editor. They show off the C# Dev Kit extension and some key features, like the Solution Explorer. They also explain what a C# project looks like and different ways that you can run and debug your C# projects.

Object-oriented Programming (OOP)

In this video, David and Scott explain how to model the world with Object Oriented Programming. Let's create person and pet objects, and declare what those people/pets will look like. Along the way, learn best practices on how to create your object.

Hello World, Introducing Strings!

Scott and David continue exploring more C# learning materials and different ways to run your C# code. In this video, learn C# in your browser and in your local environment.

Numbers, Integers, and Math

In this video, Scott and David discuss Numbers, different ways to store numbers, casting, and precision. They use integers, longs, and floating-point numbers to avoid overflow.

Sorting and Searching Lists

Once you have a list of something, how do we sort that list using C#? What does it mean to sort a list in-place? In this video we explain all about sorting lists.

Branching and While Loops

We did a thing one time, so let's do it many times, in a loop! What are the different kinds of loops? Do, While, For, and Foreach. David and Scott will explore how to repeat statements many times with C# and .NET.

Branching, Ifs, and Conditional Logic

Let's ask some questions! If this, then that. How do you branch and do that thing or this other thing with C#? Learn the basics of conditionals and introduce another type...Booleans! Plus, Scott and David cover the concept of "scope" within your code.

LINQ Method Syntax vs Query

Learn how LINQ composes queries written in multiple statements, or multiple methods, into a single query operation. In this video, examine another approach to writing LINQ queries. This feature will help you create more readable code without compromising runtime efficiency.

Self-guided C# Tutorials

Interested in learning C# but aren't sure where to start? Start here!