C# Programming

Beginner Resources

  • Microsoft Learn – Interactive free courses, similar to Codecademy, etc.
    • Take Your First Steps with C# – Covers outputting to the screen, literals and variables, basic string formatting, basic mathematical operations, calling methods from a .NET Class Library, using decision logic (if-elseif-else), storing and iterating through data in arrays, using the foreach statement, creating readable code (conventions, whitespace, comments).
    • Add Logical to Your Applications with C# – Covers evaluating boolean expressions, controlling variable scope and logic using code blocks, switch-case construct (branching), for statement (iterating), while and do-while statements (looping).
    • Work with Data in C# – Covers data types, converting data (including casting), helper methods for arrays, formatting alphanumeric data for presentation, using string data type methods to alter content of strings.
    • Build .NET Applications with C# – Covers writing your first C# code (“Hello World!”), introduction to .NET, creating a new .NET project, working with project dependencies, interactively debugging .NET apps with Visual Studio Code’s debugger, working with files/directories in a .NET app, and creating a Web API with ASP.NET Core.
  • Learn C# in Y Minutes – Short reference to C#, good for individuals looking to refresh or those coming from a similar language.

General Resources

Development

  • Cake – Cross-platform build tool (like make).
  • Bogus – Fake data generator.
  • Bridge.NET – C# to JavaScript transpiler.
  • NuGet – Package Manager.
  • Moq – For mocking.
  • NUnit – Unit testing.
  • AutoMapper – Object-to-Object Mapper.

Database

Other

  • Stateless – Stars: 3.6k – Updated: 12/2020 – Checked: 12/2020.
    • Library for creating state machines.
  • C# Functional Language Extensions – Stars: 3.3k – Updated: 12/2020 – Checked: 12/2020.
  • IdentityModel – Stars: 656 – Updated: 12/2020 – Checked: 12/2020.
    • “.NET standard helper library for claims-based identity, OAuth 2.0 and OpenID Connect.”