Skip to main content

This browser is no longer supported.

Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

Download Microsoft Edge More info about Internet Explorer and Microsoft Edge
Read in English
Read in English Edit

Share via

Facebook x.com LinkedIn Email

C# documentation

Learn how to write any application using the C# programming language on the .NET platform.

Learn to program

Get started

  • Learn C# | Tutorials, courses, videos, and more

video

  • C# beginner video series

Tutorial

  • Self-guided tutorials
  • In-browser tutorial

Reference

  • C# on Q&A
  • Languages on .NET tech community forums
  • C# on Stack Overflow
  • C# on Discord

Fundamentals

Overview

  • A tour of C#
  • Inside a C# program
  • C# highlights video series

Concept

  • Type system
  • Object oriented programming
  • Functional techniques
  • Exceptions
  • Coding style

Tutorial

  • Display command-line
  • Intro to classes
  • Object oriented C#
  • Converting types
  • Pattern matching
  • Use LINQ to query data

What's new

What's new

  • What's new in C# 14
  • What's new in C# 13
  • What's new in C# 12
  • What's new in C# 11

Tutorial

  • Explore record types
  • Explore top level statements

Reference

  • Breaking changes in the C# compiler
  • Version compatibility

Key concepts

Overview

  • C# language strategy
  • Programming concepts

Concept

  • Language Integrated Query (LINQ)
  • Asynchronous programming

Advanced concepts

Reference

  • Reflection and attributes
  • Expression trees
  • Native interoperability
  • Performance engineering
  • .NET Compiler Platform SDK

Stay in touch

Reference

  • .NET developer community
  • YouTube
  • Twitter
Your Privacy Choices
  • Previous Versions
  • Blog
  • Contribute
  • Privacy
  • Terms of Use
  • Trademarks
  • © Microsoft 2025
Your Privacy Choices
  • Previous Versions
  • Blog
  • Contribute
  • Privacy
  • Terms of Use
  • Trademarks
  • © Microsoft 2025