
Build a solid foundation in C#, by covering variables, data types, operators, loops, and exceptions, then explore arrays, strings, and object oriented programming with practical exercises.
Install Visual Studio Community 2017 and set up universal Windows platform development and dot net desktop development, configure theme, and login options for a ready-to-code C# environment.
Create your first C# project in Visual Studio, name the project and solution meaningfully, and set the entry point. Learn to run the project and use the console.
Learn to print hello world to the console in C# using the console write method, after adding using System. Explore methods versus properties of the console.
Explore variables and primitive data types in c# by creating and assigning int and string values, using the assignment operator and naming conventions.
Explore integer data types, including signed and unsigned integers, byte and long, and learn how the dot operator reveals min and max values and powers with Math.Pow.
Explore floating point data types in C#: float, double, and decimal, and their precision limits. See how seven, 15–16, and 28–29 digits affect results, and how suffixes control literals.
Explore the boolean data type, representing true or false, and its use in describing object state and comparison results. Name booleans clearly, e.g., is cookie jar empty.
Master the character data type in C#, using the char keyword to store a single character. Output special characters with ASCII and Unicode codes and manage console encoding.
Master strings as a text data type by indexing with square brackets in zero-based order to access characters, while learning that strings are immutable and cannot be altered directly.
Learn how to create and manipulate arrays in C#, index elements, and initialize arrays using curly braces or new with a size, then update values while preserving length.
Explore essential string tricks in C#: use contains, index of, last index, and case conversion with to lower and to upper, plus generating repeating characters for clean console output.
Learn how to convert any data type to a string using the to string method, enabling string methods like contains, index of, and last index of, and code simple concatenations.
Learn to build strings efficiently in C# using placeholders with indexed variables and string interpolation, comparing to concatenation, and output damage reports with character name, damage, and spell name.
Compare typecasting, converting, and parsing for data type conversion. Typecasting works with compatible types, converting uses the Convert class, and parsing uses parse and throws exceptions on null values.
Explore the difference between console.write and console.writeline, learn how the cursor affects output, and create a single-line menu using line breaks and the appropriate characters.
Learn how to output special characters in C# console applications by escaping slashes, quotes, and curly braces, using escape sequences and the @ string literal.
Explore how to format console output in C# by aligning text with placeholders and string interpolation, display currency with proper decimals, and control alignment using format specifiers.
Learn how the console read method captures a single character as an integer from Unicode/ASCII, cast it to a char. Understand why it uses only the first input character.
Use the read line method to read a string from the console, then convert or parse it to an integer for math, and manage multiple inputs without input skipping.
Learn to read specific keys from the console using the read key method and ConsoleKeyInfo, including modifiers and the key char property to obtain the actual character and its case.
Learn to colorize console output in C# by setting foreground and background colors with ConsoleColor, resetting colors, and applying colors to text segments and separators.
Set the console title to customize the window name, and control the cursor by toggling visibility, adjusting size, and setting its position with left and top.
Master console window management by sizing the window and buffer, using set window size and set window position, and understanding the relationship between buffer and window sizes.
Explore C# arithmetic operators including +, -, *, /, and %, handling ints and doubles, type casting, operator precedence with brackets, and increment, decrement, and modulo.
Explore how assignment operators act as shorthand for arithmetic, updating the same variable using the equals sign, plus equals, minus equals, and other operations.
Explore comparison operators—from greater than to not equal to—and how they yield boolean results for numbers and strings.
Explore how to apply logical operators in code to build boolean expressions, using and, or, and not to test ranges, conditions, and first character checks.
Master the ternary operator, the simplest conditional in C#, using expression ? true value : false value to pick a username or a default, and show status via console color.
Master conditional statements with if and else to control code flow based on boolean conditions, and apply else blocks with default values, including username and password input examples.
Practice the if/else conditional statements with challenges testing even or odd numbers via remainder, divisibility by 2, 3, and 4, and third-digit checks using a temporary variable and ternary operator.
Master else-if blocks and the LCF approach to handle multiple conditions, including equal cases, and learn to chain them with practical examples like a game scoring scenario.
Practice the else if conditional in c# by checking circle membership with the distance formula, then convert meters to micro meters, millimeters, centimeters, and kilometers.
Learn how nested if statements manage multi-level conditions, like validating a username and password, and sorting three input integers in ascending order.
Learn how the switch statement compares a single value to multiple predefined cases using break to stop execution, with a default case for unmatched values.
Learn what loops are and how to use them in C#: understand conditioned and while loops, their boolean conditions, loop bodies, and counting with a counter to repeat actions efficiently.
Learn to use a while loop to validate user input in the 20 to 30 range and handle invalid entries, and build a two-character battle game with health and damage.
Compare do-while loops and while loops using a numeric example from 4 to 10, showing that a do-while loop runs at least one iteration even when the condition is false.
Explore the for loop as a concise alternative to the while loop, learn its three parts, and practice iterating arrays to output elements and modify them.
Build a console menu-driven C# app that adds, edits, removes, and views items in a fruits array using for loops, while loops, and a switch-case.
Explore how the foreach loop derives from the for loop to iterate over arrays and other collections, comparing signatures and when to use foreach versus for.
Explore nested for loops in C# to work with multidimensional arrays, printing matrix-like outputs with outer and inner loops and indexing with i and j.
Explore nested loops by printing every month with its days, using arrays for months and days of week, inner and outer loops, and conditional breaks to wrap dates.
Learn how methods, containers for code, reduce repetition by extracting repeated blocks into reusable units you call with brackets, and grasp their structure with static and void.
Explore void methods in c# that perform actions without returning values, including method signatures, input arguments, and console output with colorized lines.
Define static methods with a return type, use the return keyword, and pass arguments to produce and reuse computed values, including integers and arrays with addition and sorting.
Explore method overloading in c# by using the same method name with different signatures. See examples for printing names and calculating areas of square, rectangle, and triangle.
Learn how to create methods that accept a variable number of arguments with the params keyword. Store them in an array and sum the values with placeholders for string formatting.
Make method arguments optional by assigning default values and using square brackets; keep optional arguments last as shown in examples of multiplying numbers and local database connections.
Explore how value and reference types behave in c#, using arrays and integers to show how copies and references affect memory, and how methods modify inputs.
Understand ref and out keywords to pass arguments by reference, modify values inside methods, and return multiple results such as area and perimeter of a rectangle.
Learn to work with one dimensional arrays in C#, typed containers with fixed length, zero-based indexing, and length access, plus for loops and initialization to avoid out-of-bounds errors.
Learn three ways to output array elements in the console using a for loop, foreach, and the string join method, with formatting and separators for clear, aligned results.
Learn how to clone arrays in C# with the Clone method and Array.Copy, and why simple assignment shares memory for reference types, then copy with a set length.
Learn to reverse arrays in place with the reverse method, including partial reversals by start index and length, and preview bubble sort as the next topic.
Learn how the bubble sort algorithm sorts arrays by repeatedly swapping adjacent elements with nested loops, pushing the largest value to the end, and using a temporary variable to swap.
Explore the selection sort algorithm: repeatedly find the smallest element in the unsorted portion, swap it with the first unsorted item, and move the border until the array is sorted.
Master the binary search algorithm for locating elements in an ordered collection by halving the search space with a pivot, start, end, and midpoint in a while loop.
Check array symmetry by comparing mirrored elements, using a for loop and early break to detect mismatches and determine symmetry efficiently.
Create a list as a class using List<T> from System.Collections.Generic and populate it with the add method. Lists have dynamic size, unlike arrays, and expose a Count property.
Learn to work with lists by building methods that accept and return lists, convert between lists and arrays, and concatenate multiple arrays using range, including handling lists of string arrays.
Explore multidimensional arrays in C#, building from one-dimensional to four-dimensional using rows, columns, and indices. Learn to populate and access temperatures across days, hours, months, and years with GetLength.
Practice multidimensional arrays by turning a list into a three dimensional array representing years and using nested indices for months, days, and hours. Explore two dimensional arrays for tabular data.
Explore outputting matrices in three patterns with two dimensional arrays. Learn to fill square n by n matrices from bottom left diagonally, down columns, and alternating directions, using loops.
Generate a randomized rgb image in c# by building a three-dimensional color array, filling it with random values, and rendering it into a bitmap using system drawing.
Split strings by different characters or strings in C# using the split method to produce string arrays, handle multiple delimiters, and remove empty entries.
Trim strings by removing leading and trailing whitespace or specified characters using trim methods, and learn to apply character arrays and loops while noting potential information loss.
Learn to extract substrings from a string in C# using the substring method with start index and length, plus index of and last index of for extensions and file names.
Explore the remove method and its overloads to strip parts of a string, such as removing a file name and extension to yield a path, contrasted with substring usage.
Learn to use the replace method to mask file names by replacing substrings across multiple directory paths, using the substring method with start index and length for precise targeting.
Explore how string builder makes string concatenation millions of times faster in C#, compare it with normal string concatenation, and learn how to convert the builder to a string.
Last year C# was named one of the most popular languages for mobile development and game development out there!
--- Why learn C#?
C# was designed by Microsoft and is a simple and modern programming language that's incredibly widely used by developers, and used by Microsoft for everything from Windows application development, to web development, and game design.
So it's a fantastically useful programming language to use, but how does taking this C# course help you? Well...
Are you a young developer trying to increase your skill set and make yourself attractive employers?
Are you an experienced coder looking to change your career path?
Do you know a bit of C# but really want to hone your C# skills?
Or perhaps you want to develop your own apps and websites?
Or build games?! The incredibly popular Unity game engine uses C#!
If you answered 'YES!' to any of the above, this course is exactly what you need! Take your C# coding skills from novice to pro, and get the job you want.
--- Why this course?
With over 20 hours of content, this is the biggest, best and most in-depth course yet from Instructor Tod Vachev.
As an instructor Tod has already taught over 70,000+ students to code, and has published a number of highly-rated and best-selling C# courses on Udemy... Tod takes you step-by-step through the fundamentals of C#, using regular challenges and practical exercises to make sure every student enrolled on the course is able to put theory in to practice, and use their C# skills with ease!
Students loved his previous courses!
***** Outstanding course put together by a teacher who knows how to teach well.
***** Clear communication and beginner friendly without dumbing it down
***** The course progressively (and logically) builds concept upon concept. The lectures are short and very manageable. Excellent!
---Challenges and exercises
This is a really hands-on course! Throughout each section you'll complete in-lecture exercises and coding challenges. Experience shows that this is the best way to learn, practice and internalise the fundamentals of C#.
Each topic has a new challenge, and after you've had a go at completing the exercise/challenge by yourself, the instructor will go through every step of the exercise on screen - giving you tips an tricks as he does so!
By the end of the course you'll have the skills and confidence to build your own projects (and more!)
--- Is this course for you?
No coding experience required, this course takes your from beginner to pro - and (other than enrolling in the course) everything you need to succeed is included in the course!
There’s no better time to become a professional developer, so enroll in the course now and you can start learning C# immediately!
Good luck!