
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Discover how the dotnet runtime executes applications using the just-in-time compiler to convert IL to native code, enabling portable apps across OS and CPU architectures.
Download and access course code base using GitHub Desktop on Windows or Mac, or download a zip on Linux, then open the repository in Visual Studio Code and follow along.
Learn c sharp fundamentals, including primitive data types, variables, and control flow statements, the building blocks of modern .NET applications for console, web, mobile, and games.
Learn how to declare and assign variables in C#, explore strongly and statically typed data, use BCL types and aliases like int, and note inferred types with var.
Explains the ternary conditional operator, its three operands, and how it selects between two results based on a boolean condition, with practical examples of test scores and discounts.
Master the continue statement in modern C#, learn how it skips a loop iteration, compare it with break, and study a for loop printing pages 1 through 10 except 5.
Learn how methods in modern C# enable code reuse and clarity, with public, private, parameterized, and void variants, plus a cloud provider example using IaaS, PaaS, and SaaS.
Explore constructors in c#, including implicit and explicit constructors, access modifiers, parameterized and parameterless forms, and constructor overloading, with examples using a robot class.
Learn how the this keyword references the current object to access its fields, properties, and methods, and how constructor chaining uses this to create fully initialized objects with minimal repetition.
Compare readonly and const modifiers for fields, highlighting compile-time versus runtime constants, object versus class scope, and type limits. See practical examples with initialization, local constants, and static readonly usage.
Explore base and derived classes through practical inheritance in C sharp, using protected members, base constructors, and primary constructor syntax to model is-a relationships.
Demonstrate upcasting and downcasting in C#, explaining how derived classes convert to base types implicitly and how base types cast to derived types explicitly, with safety considerations.
Master the abstract modifier in c#, showing how it prevents instantiation and enforces overriding of abstract methods, contrasted with virtual; explore polymorphism, dynamic dispatch, and practical base and derived examples.
Explore interfaces as contracts that define can do behaviors, showing how classes implement I printable and I payable to enable flexible, multi-interface scenarios beyond abstract classes.
Learn how the is operator uses type pattern matching to safely identify student or teacher and call request extension or approve extension, avoiding unsafe downcasting.
Apply the dependency inversion principle by depending on abstractions, not concrete classes, turning the socket and charger into loosely coupled components via an IPowerConsumer interface.
The lectures in this section will be released gradually over the next few days and weeks. Stay tuned and check back regularly as new content becomes available.
Explore structs as small data types and enums as groups of named numeric constants. Learn how these concepts appear as core building blocks in C#.
Explore primary constructors for structs in C# 12, a simpler way to initialize struct values, with a read-only point example using x and y and a GetInfo method.
Discover the System.Object class as the root of all types in the dotnet common type system, covering Equals, GetHashCode, GetType, ToString, boxing, and the distinction between value and reference types.
Learn how value types store data and create independent copies, while reference types point to shared data, affecting assignment and parameter passing and potentially causing side effects.
Discover how dotnet uses the stack and heap to store value types and reference types. Identify how structs and classes differ, how copying works, and why stack overflow matters.
Explore null safety techniques that prevent runtime crashes by safely handling null values. Learn what nulls are and how value types and reference types manage them.
Explore nullability in C# by comparing reference and value types, understanding null, and using nullable value types and nullable<T> to prevent null reference errors.
Learn how the null coalescing assignment operator in C# 8 and .NET Core 3 uses ??= to set a fallback when a value is null for value and reference types.
Explore the null conditional operator in c# 14 to safely access members and elements with null safety and short-circuiting, reducing null reference errors in nested object hierarchies.
Explore arrays in modern C# as a built-in reference type that stores a fixed number of values of the same type, the simplest data structure.
Learn how to work with multidimensional arrays in c sharp, including two dimensional matrices, indexing with rows and columns, declaration and initialization, and traversal with time and space complexity considerations.
Modern C# is much different than the one from .NET Framework days.
You have more options, yet you end up writing less code, while expressing your ideas more clearly.
C# language designers have taken many of the great aspects form other languages and programming paradigms and incorporated it all into the new modern version of C#. It is truly amazing!
C# allows you to write a multitude of applications such as web apps, mobile apps, gaming apps, AI apps and so much more.
C# has always been a popular programming language choice for companies. But since its modernization it is becoming even more increasingly in demand.
In this course you are going to be learning the most cutting-edge C# 14 from .NET 10. And you will also be learning all of the C# language versions prior to it so C# 13, 12, 11 and so on.
Besides learning the most up-to-date syntax you are also going to be learning from performance-focused code example. In other words – we won’t be simply writing unrealistic sample code, but instead we will be discussion time and space complexity implications. How does the code scale as the inputs increase?
So, you will also be learning about Computer Science fundamentals to truly understand what makes one solution better than the other. And this is exactly what companies are looking for when you are trying to get a job or advance in the one you already have.
We will also teach you how to skyrocket your productivity with Visual Studio Code. So while you are writing your efficient code you can do so quickly, without compromising quality.
This course will allow you to upgrade your C# skills to such a degree that you will never need to Google for syntax or wonder if “there is a better way to do it”.
You will gain a competitive advantage while looking for jobs or while having one and trying to advance your position.
Many software engineers simply don’t have the time to go and look for every single update and put it all together. This course does exactly that, so you don’t have to worry about researching and cross-referencing updates.
We have done the difficult part and organically incorporated all of the updated syntax into the course material, so as you are normally watching the course you are automatically learning modern C# without having to dig through any of the documentation yourself.
Join NOW and experience a drastic improvement in your C# skill level, which will help your career and ultimately your life!