Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
C# Zero to Hero: OOP, LINQ, Async & Advanced Concept
Rating: 4.1 out of 5(265 ratings)
41,557 students

C# Zero to Hero: OOP, LINQ, Async & Advanced Concept

Unlock the full potential of C# programming from beginner to advanced levels with our comprehensive training course.
Last updated 11/2025
English
English [Auto],

What you'll learn

  • Introduction to C# programming language and its structure.
  • Basics of C# programming including variable declaration, data types, and operators.
  • Conditional and loop constructs for decision-making and repetition.
  • Working with arrays and understanding object-oriented programming (OOP) concepts.
  • Implementing methods, constructors, and static members in C#.
  • Inheritance, polymorphism, and abstraction in OOP.
  • Handling exceptions and implementing multithreading for concurrent execution.
  • File I/O operations, including reading from and writing to files.
  • Advanced topics such as delegates, events, and lambda expressions.
  • Introduction to LINQ (Language Integrated Query) and asynchronous programming.
  • Building applications with WPF (Windows Presentation Foundation) and ASP .NET.
  • Exploring async and await keywords for asynchronous programming in C#.

Course content

3 sections170 lectures24h 4m total length
  • Introduction7:11

    Explore C# basics as an object oriented language designed by Microsoft, suitable for many applications and built on fundamentals like classes, objects, operators, conditionals, and loops.

  • Structure Of A C# Program6:58

    Explore the structure of a C# program, using classes and objects, where a class is a blueprint and memory allocates to each object with data like orders and customers.

  • Structure Of A C# Program Continues7:32

    Create a simple c# program inside a class with a main function, then print Good morning to the screen using Console.WriteLine in the System namespace, and compile with Visual Studio.

  • Studying The C# Program8:21

    Navigate the Visual Studio command prompt to compile a C# program, fixing main entry and semicolon errors. Use using System to simplify Console.WriteLine output and print multiple lines.

  • Declaring A Variable6:55

    Declare and initialize variables in C# to store numeric values, use data types, and print the sum of two numbers using console output.

  • Data Types In C#7:33

    Explore data types in c# by building a program that prompts for two numbers, reads them as strings, converts to integers, adds them, and prints the result.

  • Arithmetic‚ Unary‚ Comparison‚ Logical Operators12:13

    Explore value and reference types in C#, learn arithmetic and assignment operators, unary increment techniques, and use comparison and logical operators with true/false outcomes.

  • Examples On Variables And Operators12:33

    Learn C# basics: declare and initialize variables, apply pre- and post-increment, perform arithmetic, and compute the sum and average of five user inputs in a console application.

  • Conditional Constructs13:04

    Learn to use if and switch conditional constructs in C#, understand condition evaluation, blocks, single-line and nested forms, and apply to number checks, even/odd tests, and handling invalid numbers.

  • If-Else Constructs9:38

    Master switch case in C# to compare a variable against multiple values, using case blocks with break and a default, and convert input strings to chars for checks.

  • Switch.. Case Construct9:22

    Master the switch-case construct to read three numbers and determine the largest using comparison and logical operators. Learn to check divisibility by five with the modulo operator.

  • Using Loop Constructs11:19

    Master loop constructs in C# with for, while, and do loops; learn fixed and variable loops, initialization, condition, and increment, with examples like printing numbers and counting prime numbers.

  • Loop Constructs Example13:58

    Learn loop constructs in C# by counting even and odd numbers with a for loop and two zero-initialized counters, then create star patterns with nested loops.

  • For Loop12:28

    Learn how the for loop in C# uses initialization, a semicolon-separated condition, and increment to control repeated execution, with examples showing printing sequences and formatting output.

  • While Loop11:14

    Master the while loop by building a prime-number checker that tests divisibility from two up to n minus one, using a break and a flag to determine primality.

  • Do While3:12

    Demonstrate the do while loop in C#, showing how the loop body executes at least once before the condition is checked, with numeric and prime-number examples.

  • Do While Program13:53

    Learn to build a do-while loop driven calculator in C#: input two numbers, choose from six operations (including add, subtract, multiply, and divide), and loop until you decide to continue.

  • Break Continue7:15

    Explore break and continue control flow in C# by building a sum program that ignores negative numbers, breaks on zero, and iterates through input to illustrate exit and next-iteration behavior.

  • Summary0:44

    Explore how a compiler translates a high level language into machine level language, and how conditional constructs like if, switch, for, and while guide computation and value comparisons.

  • Array15:24

    Explore how to store multiple values of the same type in C# using arrays, including syntax with square brackets, initialization, indexing from zero, and summing ten input numbers.

  • One Dimensional Array14:37

    Explore one dimensional arrays in c# by examining memory references, array declaration, and the effect of copying between source and target. Learn palindrome checking with string-to-character conversion and index-based comparisons.

  • For Each Loop7:42

    Learn when to use the foreach loop in c# to iterate over elements of a collection without needing its size, and contrast it with the for loop for indexed iteration.

  • Array Description12:03

    Explore array handling in C# by storing numbers of varying size, finding the largest element, printing with spaced formatting, and sorting in descending order, while discussing memory layout and iteration.

  • Array Description Continues11:20

    Sorting numbers in descending order, the lecture demonstrates repeated comparisons and swaps with position tracking.

  • 2-Dimensional Arrays10:24

    Explore 2-dimensional arrays in C#, understand how memory stores a grid, declare and populate a 2d array, and print and sum each row to show row totals.

  • 2-Dimensional Arrays Continues8:56

    Explore two dimensional arrays, their initialization, and memory layout with rows and boxes; learn jagged structures, addressing by row and column, and practice examples on multidimensional arrays.

  • Introduction To Oops12:15

    Explore object-oriented concepts such as classes, objects, state, behavior, and identity, and see how messages enable software to model real-world problems through instances.

  • Features Of Oop13:58

    Explore the core features of object-oriented programming, including inheritance, polymorphism, abstraction, encapsulation, and realistic modeling, with hands-on examples and the software development lifecycle.

  • Working With Methods Part 18:07

    Create an object of the class in the main method and assign its name, email, and phone number as properties, then explore member variables and public vs private access.

  • Working With Methods Part 29:46

    Learn to define and call methods to assign name, email, and phone number in student and employee classes, and explore how assignments flow with access specifier and naming conventions.

  • Method With Param4:38

    Learn how to define and call a parameterized method in C# using a calculator class, pass values like 10 and 20, and return and print the result.

  • Callbydemo Part 18:25

    Examine how C# passes data using by value, by reference with ref, and by output with out, showing how copies vs references affect variable changes and program flow.

  • Callbydemo Part 210:59

    Learn how call by value and call by reference work in C#, including using output parameters to return sums of numbers and how swapping values demonstrates these concepts.

  • Callbyparams10:34

    Explore call by parameter concepts in C#, focusing on reference parameters that do not create new storage, how values pass into methods, and using loops to display numbers.

  • Abstraction & Encapsulation Part 19:47

    explore abstraction and encapsulation in programming, using abstract classes and access specifiers to hide data, control visibility, and enforce safe interfaces across classes and assemblies.

  • Abstraction & Encapsulation Part 210:45

    Learn how access modifiers govern visibility in a class within an assembly, including private defaults, internal access, and how static members share memory across objects.

  • Abstraction & Encapsulation Part 310:14

    Explore abstraction and encapsulation in C#, compare static and non-static members, and show how a class shares data across instances while maintaining per-object state and incrementing values.

  • Static Method2:29

    Explore how static methods and static variables control function calls, revealing abstraction and encapsulation patterns that let methods run without object instantiation.

  • Memory Allocation11:54

    Explore how memory allocation in C# distinguishes value types and reference types, showing stack versus heap storage and how copying affects underlying data.

  • Structure Enum Collection14:22

    Explore how enums assign numeric values starting at zero, customize values, and map symbols like days of week to numbers; then learn about collections, boxing, and common types in C#.

  • Arraylist6:20

    Learn how to create and manipulate a C# arraylist (list) by adding diverse elements, iterating with a for loop, accessing by index, removing by position, and understanding dynamic growth.

  • Need Of Cons4:30

    Explore why constructors initialize data members, create objects, and allocate memory, distinguishing between class and object, default constructors, and how a constructor runs once per object.

  • Creating Cons4:09

    Understand how constructors in C# are special methods named after the class, called automatically when objects are created to assign initial values. Explore the difference between instance and static constructors.

  • Instance And Static Cons11:18

    Explore how instance and static constructors initialize instance and static variables, demonstrate constructor overloading and polymorphism for different parameter sets, and explain destructors and garbage collection in C#.

  • Garbage Collector3:00

    Discover how the .NET garbage collector automatically frees memory by reclaiming objects no longer referenced, supports finalize and dispose for unmanaged resources, and ensures memory safety.

  • Life Cycle Of Object9:11

    Explore how objects are created and destroyed in .NET, implementing constructors and destructors, using dispose and finalize for explicit cleaning, and understanding garbage collection and scope.

  • Types Of Relationship2:08

    Explore inheritance and polymorphism, including function and operator overloading, and examine class relationships such as composition. See how car and bus derive common properties from a base automobile class.

  • Inheritance10:29

    Learn inheritance concepts with superclass and subclass, single inheritance, and composition, utilization, and instantiation relationships, and apply protected and public access modifiers through practical car and employee examples.

  • Inheritance Demo7:23

    Explore how inheritance exposes base class variables to derived classes and how constructors and destructors run across the hierarchy. The demo also covers object creation and memory layout.

  • Polymorphism Part 16:29

    Explore polymorphism in C# mastery: distinguish static (compile-time) and dynamic (runtime) polymorphism, and examine constructor overloading with zero and one parameter constructors in an inheritance example.

  • Polymorphism Part 26:36

    Explore static polymorphism through function overloading and operator overloading, detailing signatures, parameter counts, data types, and sequence. Contrast with dynamic polymorphism and runtime binding to understand method resolution.

  • Static And Dynamic Part 16:21

    Explore practical examples of function overloading in C#, noting how the same method name differs by signatures and parameters, and learn about static polymorphism, operator overloading, and constructor overloading.

  • Static And Dynamic Part 26:02

    Master operator overloading by implementing a time-like class with hours and minutes, define the plus operator to add objects, perform minute-to-hour conversion, and display the result.

  • Unaryop Overload2:16

    Learn how to overload unary and binary operators in C++, identify overloadable and non-overloadable operators, and implement a unary operator example with increment semantics.

  • Unaryop Overload Continue10:41

    Explore unary operator overloads and post- vs pre-increment semantics in C#, comparing classes and structs. Learn how to implement operator overloading with the operator keyword and understand static polymorphism.

  • Dynamipoly Part 111:03

    Explore dynamic polymorphism in C# through method overriding and abstract methods, including abstract classes, the abstract keyword, and virtual methods enabling runtime binding.

  • Dynamipoly Part 25:33

    Learn how virtual methods enable dynamic polymorphism by overriding base class behavior in derived classes, and see how sealed keyword restricts inheritance.

  • Interface8:37

    Discover how interfaces in C# declare methods without bodies, enable separation of definition from implementation, and support multiple inheritance, properties, methods, and events for runtime polymorphism.

  • Fileio Intro3:32

    Explore file I/O in C#: learn about streams, read and write operations with binary data, and key classes like FileStream, StreamReader, and StreamWriter in System.IO.

  • Streamreader Part 17:56

    Master stream reading in C# part 1 by using System.IO, creating a file stream, and choosing read options and open or create modes to access an existing file.

  • Streamreader Part 28:47

    Master reading and writing text with stream reader and stream writer backed by a file stream, performing line-by-line reading until end-of-file, and using seek to skip or read from positions.

  • Stream Writer2:45

    Learn to write text in C# with the stream writer class, backed by a file stream. Create or open files and write data using the stream writer.

  • Binaryio Folder Part 111:05

    Learn how to write text to files with different modes, including append, and how to use file streams and binary writer to write primitive data to binary files.

  • Binaryio Folder Part 29:48

    Learn to read and write binary files in C# using binary reader and binary writer, and explore directories and files with DirectoryInfo and FileInfo, listing names, sizes, and extensions.

  • Binaryio Folder Part 36:24

    Enumerate files via directory info and get files, printing each file’s name, size, and extension. Explore basic System.IO operations for reading and writing text and binary data.

  • Trycatch Part 19:28

    Learn to handle runtime errors and index out of range exceptions in C# using try and catch blocks, and define custom exceptions for tailored error handling.

  • Trycatch Part 29:31

    Learn to handle exceptions using try catch blocks, including index out of range and divide by zero, with custom messages and multiple catches to keep the program running.

  • What Is Finally Block And Its Use5:25

    Explore finally blocks in C# and how try, catch, and finally manage system and application exceptions, ensuring cleanup of resources like network connections and files even when errors occur.

  • Custom Exception Part 16:14

    Master C# custom exceptions by learning how to create user defined exceptions, enforce age validation between 20 and 40, and implement standardized error handling with throw and handling.

  • Custom Exception Part 26:15

    Learn how to define and handle custom exceptions in c#, using a base application exception class, constructors, and try-catch-finally blocks to manage runtime and logical errors.

  • Multithreading Introduction Part 13:32

    Explore how to create and manage multiple threads within a single process, covering thread lifecycle, creation, priority, synchronization, and the distinction between threads and processes.

  • Multithreading Introduction Part 23:16

    Learn to distinguish processes from threads, create multi-threaded programs in .NET, and access or name the current thread using the Thread class from System.Threading, including main and child threads.

  • Multithreading Program7:22

    Demonstrate multithreading in C# by creating two methods display 1 and display 2 and running them on separate threads via delegates and thread start, printing good morning and good afternoon.

  • Thread Life Cycle8:32

    Master the thread life cycle in C#, from unstarted to runnable, running, suspended, and dead, and see how sleep, interrupt, suspend/resume, and abort shape thread behavior.

  • Thread States5:27

    Explore thread states from unstarted to dead in C#, including sleeping, waiting, and blocked, and examine multithreading advantages, drawbacks, priorities, deadlocks, starvation, and data corruption.

  • Thread Priority12:45

    Explore thread priority in C#, assigning highest to critical threads and lowest to others, observe scheduler time slicing, and master synchronization with locks and monitors to prevent data races.

  • C# Conclusion1:09

    Master c# from basics to advanced concepts, covering abstraction, encapsulation, access specifiers, methods, constructors, and structs; then dive into inheritance, polymorphism, exception handling, multi-threading, and file handling.

Requirements

  • C# training requires no previous programming experience.
  • You must have access to a computer and be able to create, edit text files, download and install C#Compiler and IDE and editing compiling and running files from the Course.
  • License copy visual studio software from Microsoft is recommended
  • C# training is a programming language which is very similar to Java in syntax, the only difference being all variable types are from a common ancestor class.
  • Purpose of C# course is to define operations computer can carry out for performing the tasks. By itself, the computer has no value till the programming language provides the requisite instructions.

Description

Welcome to theC# Mastery: Comprehensive Beginner to Advanced Training. This course is meticulously designed to equip beginners with the foundational knowledge and practical skills needed to embark on a journey into the world of C# programming. Whether you're entirely new to programming or looking to strengthen your understanding of C#, this course is tailored to meet your learning needs.

Throughout this course, you will embark on an enriching learning journey that covers everything from the fundamental concepts of C# to more advanced topics. Each section is crafted to provide you with a structured learning experience, blending theoretical explanations with hands-on coding exercises and real-world examples.

By the end of this course, you will have a solid grasp of essential programming concepts, including variables, data types, conditional statements, loops, arrays, object-oriented programming principles, and much more. Furthermore, you will delve into intermediate and advanced topics such as asynchronous programming, delegates, events, and exception handling, empowering you to develop robust and scalable C# applications.

Whether you aspire to become a software developer, enhance your programming skills, or pursue a career in C# development, this course serves as the perfect starting point for your journey. Get ready to unlock the full potential of C# and embark on an exciting path towards mastering this versatile programming language. Let's dive in and unleash your programming prowess!

Section 1: Introduction to C# Training - C Sharp Training Courses for Beginners

In this section, students are introduced to the fundamentals of C# programming. They start with an overview of C# and its basic structure, followed by a deeper dive into the components of a C# program. Topics covered include variable declaration, data types in C#, and essential operators for performing arithmetic, unary, comparison, and logical operations. Students learn about conditional constructs such as if-else statements and switch-case constructs, enabling them to make decisions and control the flow of their programs. The section also covers loop constructs like for loops, while loops, and do-while loops, providing students with the tools to iterate over code blocks based on specific conditions. Additionally, students gain an understanding of arrays and their usage in C# programming, including one-dimensional arrays, multi-dimensional arrays, and iterating through arrays using foreach loops. The section concludes with an introduction to object-oriented programming (OOP) concepts, including classes, methods, constructors, encapsulation, and inheritance, laying the foundation for more advanced topics in subsequent sections.

Section 2: C# - C Sharp Advanced

Building upon the foundational knowledge acquired in the beginner section, this intermediate to advanced section delves deeper into advanced C# topics. Students explore concepts such as operator overloading, console applications, indexers, reference types vs. value types, delegates, anonymous methods, lambda expressions, events, extension methods, nullable types, language-integrated query (LINQ), asynchronous programming, Windows Presentation Foundation (WPF) applications, exception handling, dynamics, and performance optimization techniques. Each topic is accompanied by theoretical explanations followed by practical coding examples and demonstrations to solidify students' understanding and enhance their programming skills. By the end of this section, students gain proficiency in advanced C# concepts and are equipped with the knowledge and skills to develop complex and efficient C# applications.

Section 3: Async and Await in C#

In this section, students delve into asynchronous programming using the async and await keywords in C#. They learn about the benefits of asynchronous programming, including improved responsiveness and scalability in applications. The section covers topics such as creating asynchronous methods, handling cancellation tokens, parallelism of multiple asynchronous tasks, converting synchronous methods to asynchronous methods, and implementing asynchronous programming in ASP.NET websites, WinForms applications, and database operations. Through a combination of theoretical explanations, practical demonstrations, and hands-on exercises, students gain proficiency in asynchronous programming techniques, enabling them to develop responsive and efficient C# applications that can handle concurrent operations effectively.

Who this course is for:

  • New Developers who are interested to learn C# language.
  • Anyone who wants to understand object oriented programming
  • Students in computer science courses
  • Computer System Analyst those who works on .Net-based systems will need to communicate effectively with designer and developer who code in the language, so completing C#-training programs can help keep these professional on the same page.
  • This training course is designed for programmers who want to move into the .Net Technology.