Updated Aug 3rd, 2023

Brief Notes

Build and supported by Microsoft. Popular in enterprise. Descendant of C and C++ and cousins with Java and Swift.

Related to .NET, most popular language in that framework.

Compiles to assembly. Then interpreted with Common runtime library (CRL).

Many types of projects: desktop, web, cloud, mobile (Xamarin), gaming (unity), iot, ai. ASP.net is for backend framework for web applications, (Razor pages is the templating language with tags to drop into C# and do conditional rendering, etc.).

Blazor (Web Assembly) is used to build front-end applications and is a solution to run code on a web browser without needing JavaScript.

Similar to Java in that write once, run anywhere.

Strongly typed (int, longs, strings, doubles, DateTime, float) but also has implicit types. Can also create your own data types in three ways with classes, structs and records.

Editor in Visual Studio but can use visual studio code.

Open source in 2014 which is kind of a big deal for a big company releases propriety software and this is when C# went from Microsoft only to cross platform (.Net, originally called .Net Core is cross platform).

C# is object oriented (classes that define objects).

public class myClass
  protected void MyMethod()

Classes have a constructor and a destructure. Auto-implemented properties with get and set.

Also has a feature called LINQ (similar to map or filter in JS or stream in Java). Can also do lambda functions (for functional programming). Also has async/await.

Getting Started

Install the .NET Core SDK here

dotnet new whatEvs

Creates a Program.cs file that imports the System

// import look like this
using System
//type name value style

// compile and execute with this command:
dotnet run

Job Availability

Seems like there are a lot of jobs out there


C# in 100 seconds from Fireship here

4-minute Video here from Sluiter

10-minute video here from Train to Code

9-Hour Derek Banas in 2023 here

15-hour advanced FCC course in 2023 here