C# Programming



C# is a popular yet powerful language developed by Microsoft, used for both system and application development. This course introduces you to the fundamentals of the application such as data types, strings, variables as well as functions in C#. Additionally, you will also learn how to control the flow of your code through structures such as loops and if-else statements. Finally, you will learn about how to organize information in arrays, managing memory resources with pointers and managing files in C#.


  1. What is C#
    • The History of C#
    • .NET Framework and C#
    • Memory management and garbage collection
  1. Getting Started
    • Installing Visual Studio
    • Console application
    • Desktop application
    • Simple web application
  1. Language Fundamentals
    • C# syntax
    • Naming guidelines
    • C# documentation
  1. Declaring Variables
    • Introduction to Data types
    • Declaring and Assigning variables
    • Working with characters and strings
    • Building strings with StringBuilder
    • Parsing strings as numbers
    • Using mathematical operators
    • Boolean values and expressions
    • Constants and enumerations
    • Dates and times
  1. Managing Application Flow
    • If – else if – else statement
    • Advanced Control Flow with Switch
    • Understanding loops
    • The for loop
    • The foreach – in loop
    • The do – while code
    • Creating reusable code with methods
    • Variable visibility and scope
    • Break and continue
  1. Exception Handling
    • Understanding runtime exceptions
    • Debugging exceptions
    • Using try/catch to handle exceptions
    • Multiple catch statements
    • The finally statement
  1. Managing Collections of Data
    • Declaring and using simple arrays
    • Multidimensional arrays
    • Managing ordered data with lists
    • Managing unordered data with dictionaries
  1. Creating Custom Classes
    • Defining a class with static methods
    • Representing data with custom class objects
    • Declaring privates fields and public properties
    • Declaring properties with shorthand get and set methods
    • Overriding the ToString() method
    • Adding multiple constructor methods
    • Organizing classes with namespaces
  1. Working with Inheritance and Polymorphism
    • Extending a class to create new class
    • Overriding and calling base class methods
    • Creating methods that accept subclassed objects
  1. Visual Programming and Event Handling
    • Setting visual component property values
    • Handling visual component events