
This course includes our updated coding exercises so you can practice your skills as you learn.
See a demo
Install Visual Studio, choose the community edition for beginners, enable dotnet eight runtime, and tailor workloads and components to start coding with the IDE.
Switch from Visual Studio for Mac to Visual Studio Code with the C# Dev Kit, install the .NET SDK, and run a hello world console app.
Set up your first C# console project in Visual Studio, name it Hello World, choose dotnet eight, and run a simple program that prints Hello World or your name.
Create a Visual Studio C# console project on Mac with Visual Studio Community, name hello_world, and run to print hello world from program.cs; Mac keeps the console open.
Explore the .NET framework as a consistent, object-oriented runtime for Windows apps, web services, and mobile apps, and see how compiling translates code into the computer's language.
Learn how single line comments, denoted by two slashes, are not executable and improve documentation by describing following lines, as shown with an example printing hello Dennis.
Discover how top level statements simplify C# console apps in dotnet 6 and how the option to enable or disable them alters the generated program template.
Learn how to get user input using the console, store it as a string, convert data types, perform addition, and output the result.
Disable the automatic close of the console in Visual Studio tools options debugging general. Use console read line to keep the console open until a key is pressed.
Define and initialize variables, then assign and overwrite values to show dynamic updates. Demonstrate string interpolation with a dollar sign and braces in console output.
Learn the basics by building a simple addition calculator, capturing two numbers from user input and displaying their sum, with future videos covering if statements and extensions.
Build a simple addition calculator in C# by parsing two user inputs, summing them, and printing the result with clear variable usage and console output.
Learn to fix decimal and precision issues in C# by using invariant culture for numeric formatting, converting doubles to strings, and applying Math.Round to display two decimals.
Master C# operators, learn order of evaluation, and use brackets to control precedence, understand concatenation vs arithmetic, integer division, and how multiplication and division take priority over addition and subtraction.
Explore the char data type in C#, capable of holding a single character only, and see how UTF-16 encodes Unicode characters, including smileys and various scripts, with examples using Console.WriteLine.
Explore the and operator and end statements, showing how true results require both sides and how the ampersand and not signs govern rain and umbrella outcomes.
Learn how else if controls code flow by evaluating conditions top to bottom. Use age based examples to decide between school, kindergarten, or club scenarios, including a with-parents condition.
Discover how variable scope depends on where a variable is created, and how declaring h inside an if statement limits access, while moving it outside extends its availability.
Explore using if statements in C# with and without curly braces, compare single-line versus multi-line blocks, and advocate always using curly braces for clarity.
Learn how to clean user input with trim, trim start, and trim end, and ensure consistent case by using to lower or to upper.
Demonstrate incrementing and pre-incrementing with a num variable, contrasting post-increment and pre-increment, and show output via string interpolation and basic console printing.
Learn decrementing with minus minus, pre and post forms, and apply plus, minus, multiply, and divide equal. Master the modulo operator and integer-based remainder calculations.
Explore how the while loop works as a counter, compare it to a for loop, and learn how to update a counter to avoid infinite loops.
Explore do-while loops in C#, showing how they execute at least once before testing the condition, in contrast to pretest while loops, with practical examples including user input validation.
Create a two-parameter int adder with a return type, return the sum, and print results separately, illustrating parameter scope and how to pass arguments like 5 and 10.
Explore how scope governs variables and parameters in C#, demonstrating how top-level file variables persist across the file while method parameters and local variables stay confined to their respective methods.
Create a console weather station simulator using arrays, random, and for loops to generate daily temperatures and conditions, then compute averages, highs, lows, and most common conditions.
define member variables as fields inside a class, use private underscore-prefixed fields, and implement a custom constructor to initialize model and brand for car objects, printing results to the console.
Learn how to use multiple constructors in a customer class, including a default constructor, and create objects with full or partial data (name, address, contact number).
Learn how to add and use a class method, drive, that operates on object properties like model and brand to produce instance-specific output, demonstrating object behavior and method reuse.
Explore optional parameters in C# by defining default values for parameters and using them in methods and constructors, then enhance calls with named parameters to omit arguments.
Use named parameters to pass arguments by name, such as first num: 23 and second num: 25, improving readability when a method has many parameters or mixed types.
Learn how a public static int number of cars tracks production, incremented with each new car in the constructor; access the count from the class to verify three cars produced.
Learn how to create read-only properties in C# with an omitted setter, exposing a public ID via a getter and ensuring unique identifiers through a static field.
Compare const and read only in C#: const initializes at compile time and is shared across all instances, while read only initializes at runtime and can vary per instance.
Learn how to build a C# quiz app by defining question and quiz classes, using arrays and the new keyword, and tracking score and user choices.
Define a question class for a console quiz app with question text, answer options, and the correct answer index, plus a constructor and a check method.
Master the display of quiz results by tracking a private score, incrementing on correct answers, and showing a color-coded percentage with messages such as excellent work or keep practicing.
Learn how lists function as dynamic generic collections in C#, with the type T representing items, and compare them to arrays while using add, remove, insert, sort, and index operations.
Explore how to use the find all method with a predicate to filter a list of numbers and return those that are ten or higher.
Explore lambda expressions and predicates in C#, using lambdas with list methods like find all and any to filter data. Learn how to store lambdas in predicates for simple filtering.
Discover how delegates reference methods, use lambda expressions as simplified methods, and assign them to predicates for FindAll to filter lists by logic that returns bool.
Learn to create and manage a list of complex objects in C# by defining a Product class with name and price, then initialize, add, and display items.
Explore legacy hashtables in c# and compare them to dictionaries, learn how to define, populate, and retrieve data using key-value pairs, and cast values to student objects.
Update dictionary entries by key and remove items with the remove method. Iterate through items using a foreach loop on key-value pairs to display IDs and names.
Declare dictionaries with string keys and values, use var and curly-brace syntax, and access safely with try get value and out parameters; iterate and print NY to New York.
Use if-else to control the app flow when you can predict outcomes; resort to try-catch when errors are unavoidable, and remember finally handles cleanup, with a performance cost.
Explore how the throw keyword creates and propagates exceptions to prevent bad data from damaging programs, showing practical examples of input validation and error handling.
Explore handling multiple exceptions in C# by catching specific types like divide by zero, format, and overflow, printing tailored messages and applying default values when needed.
Explore how the call stack propagates exceptions from level two to main, and how try blocks and catch handle or bubble up errors, including default versus specific exceptions.
Examine the three inheritance types supported by C#, and explain why multiple inheritance isn't supported directly, with interfaces as the workaround.
Document code with XML comments using triple slash to describe methods, parameters, and returns. Create a person class with a become older method that uses years and returns new age.
Learn to implement a cat class that adheres to the IAnimal interface in C#, defining eat behavior and sound (meow) and testing with a cat that eats fish.
Master dependency injection and inversion of control, focusing on constructor injection. See a practical builder example injecting a hammer and a saw to supply dependencies.
This lecture introduces setter dependency injection by using properties to set hammer and saw on a builder, showing how dependencies can be assigned after object creation and swapped via polymorphism.
Examine structs as value types in c#, their lack of inheritance, stack storage, and being passed by value, demonstrated with a point struct, its constructors, and a display method.
learn to implement an immutable point struct in C# with a distance method that computes the distance between two points using doubles, and format the result for console output.
Explore enums in C# as a set of immutable constants at the namespace level, illustrated with days and months, showing comparisons, casting to integers, and custom starting indexes.
Explore the C# math class using system.math constants and static methods for rounding, min and max, powers, pi, sqrt, abs, and trig functions like cos.
Discover how C# automatically manages memory with the garbage collector, references, and the memory pool. Learn when collection runs, how finalizers work, and the optional GC.Collect method.
Learn C# from A to Z with this Masterclass and become a C# Software Developer.
In this course, you are going to discover how to become a C# developer by learning all the real-world software development skills that you'll need.
Are you ready to dive deep into the world of C# and .NET framework development?
I have created a course that makes the path to becoming a skilled C# developer as easy as possible, all with this C# Masterclass!
You start off by learning the C# basics and programming concepts in general:
Variables
Arrays
If Statements
Loops
Building Algorithms & Logic
Then you learn the pillars of object-oriented programming:
Classes
Methods
Objects
Inheritance
Polymorphism
Clean Code
SOLID principles
Once you mastered them, you will go into advanced C# Topics, such as:
Events
Delegates
Interfaces
Generics
Databases
LINQ
WPF
Unit Testing
The C# Masterclass is full of amazing exercises and best practices that'll help you get into professional C# development in a fast and fun way.
In addition to the C# development topics you'll also dive into some of the most popular Frameworks that C# developers use around the world! Such as WPF for building Desktop applications and Unity for building Games.
I'm here to help!
I know that learning to code can be hard at times, and sometimes you just get stuck. But no worries, I am here to help you. Me and my team answer each question as quickly as we can and make sure that you reach your goal of becoming a developer.
Who is this course for?
The course is for anyone, who wants to learn C# and wants to become professionally good in C# programming. No experience is required whatsoever. It is designed so that anyone who can handle a mouse and keyboard will succeed in finishing it.
Full 30-Day Money-Back Guarantee
This course comes with a 30-day full money-back guarantee. Take the course, watch every lecture, and do the exercises, and if you are not fully satisfied, ask for a full refund within 30 days. All your money back, no questions asked.
About me, your instructor:
My name is Denis Panjuta, and in my courses, I have taught over 500.000 students how to code. I have a Bachelor of Engineering from the University of Applied Sciences in Constance (Germany). I love teaching and creating high-quality courses. My mission? Teaching 10.000.000 people how to code.
See, this is the only C# course you will ever need.
You will learn all the C# skills that you need to know to succeed in C# and .NET coding!
Don’t waste any more time and become a C# software engineer by starting this course now.