
Master teashop language fundamentals and object oriented programming with polymorphism, inheritance, abstraction, and encapsulation, build custom classes, and learn to use generic collections like dictionary and list with lambda expressions.
Explore .NET and .NET core fundamentals, install the SDK, and learn how the base class library and the common language runtime enable C# applications across Windows, Linux, and macOS.
Master the dotnet CLI to create, build, restore, and run a console application using templates, manage a solution in Visual Studio, and understand assembly output.
Show how a console app starts at the static main method, uses console write and write line to output text, and read line to capture input and greet the user.
Learn built-in types in C#, including byte, short, int, long, char, boolean, and daytime; explore strings and numeric types like float, double, decimal with proper suffixes.
Learn how strings are stored as a sequence of characters, handle null and empty values, and escape quotes; explore concatenation, interpolation, and the efficient use of StringBuilder for dynamic text.
Learn how to use common operators in C#: arithmetic, relational, and logical operators, plus the ternary conditional operator. Understand operator precedence and pre/post increment with practical examples.
Explore how to write and use C# comments—single-line, multi-line, and XML documentation—and organize code with region blocks for easier navigation.
Master how to control program flow with if statements based on user input, compare birth year to current year, and use else and else-if to show access messages.
Explore datatype conversion and casting in C# by safely parsing user input with TryParse, handling invalid input, and using implicit and explicit casts, plus converting numbers and values to strings.
Learn how to store multiple values with arrays in C#, access and update elements by zero-based indices, and understand fixed-length behavior and common index out of range errors.
Learn to use the while loop to iterate arrays or collections, control flow with a boolean condition, and safely exit with a break, while avoiding out-of-range errors by using length.
Explore do-while loops in practical C# from scratch, compare do-while with while semantics, and implement an echo program that repeats user input until you type X.
Learn how the for loop iterates over a string array using initialization, condition, and increment, printing values such as Volvo, BMW, and Mazda, with break to exit early.
Use the foreach loop to iterate over a typed collection, enforce element type, and perform actions inside the loop, illustrated by printing car brands such as Volvo and BMW.
Define an enum as a value type with named constants of an underlying integral type, and parse user input to operate on the enum instead of raw values.
Learn how to use nullable value types to store either an underlying value or no value, using int? and checking has value to display the value or nothing.
Learn to use try-catch-finally to protect programs from runtime exceptions like index out of range, divide by zero, and null reference, with multiple catch blocks and guaranteed finally cleanup.
Organize code with namespaces that group classes. Import a namespace with a using statement to access a type; without it you get an error.
Parse dates in C# by building a console app that reads day, month, and year (or a full date), creates DateTime, and computes days since birth with TimeSpan.
Define a person class with first name, last name, and date of birth; instantiate a person object and explain default private members become accessible via public modifiers, reducing code duplication.
Define and use methods to encapsulate behavior, pass parameters, and control access with private fields and public getters, including an expression-bodied get date of birth example.
Discover how constructors create new person instances in C# by using parameterized constructors to set first name, last name, and date of birth. Learn constructor overloading and chaining with this(...).
Learn how properties replace private fields with get and set accessors, including auto-implemented properties, validation logic, and concise syntax to access or assign values like a contact number.
Declare static members to count created instances and access them through the type, not objects; increment in constructors and use static properties and methods as global utilities.
Explore using inheritance to consolidate shared file properties into a base class and derive Excel, PowerPoint, and Word document classes with specific behaviors like generate report, present, and print.
Explore C# access modifiers—public, private, protected, and internal—and learn how they control member visibility across classes and assemblies.
Mark a class as abstract to prevent instantiation and require derived classes to implement abstract members; use override to provide implementations, and allow single inheritance only.
Explore how interfaces define and enforce contracts. Contrast interfaces with abstract classes, note interface members are public and abstract by default, have no constructors, and support multiple interfaces.
Explore polymorphism by implementing a base shape class with a virtual draw method and overriding it in circle, rectangle, and triangle to enable uniform drawing via a shapes array.
Explore how arrays differ from dynamic collections in C#, and learn to use lists and dictionaries with generics to store, add, remove, and access typed items.
Explore the list functionalities in C# from creating and initializing lists, adding elements, displaying them with foreach, to removing by index, by value, by predicate, removing ranges, and sorting.
Discover how LINQ in .NET simplifies filtering and counting employees born after January 1, 2000, and finding a specific name using predicates, where, first or default, and lambdas.
Explore how to replace loops and if statements with linq extension methods, using lambda expressions to transform employee data and find youngest or oldest birth dates, reducing boilerplate.
Explore how a dictionary enables fast key-value lookups in C# with string keys and currency objects, and safely manage missing keys via TryGetValue, add, and remove.
Discover how the var keyword enables implicitly typed local variables in C#, with the compiler inferring dictionary and string types while maintaining strong typing.
Build a phone book console app in C#, defining Contact and PhoneBook, enabling add, display by number, show all, and name-based search via a console menu.
Explore how C# stores data in stack and heap, contrasts value types and reference types, and explains how the garbage collector manages memory.
Explore how ref and out keywords let you pass value-type variables by reference, altering the original value versus a copy, with examples of divisibility using modulo.
Explore parsing strings to negative integers using a static boolean method with an out parameter, leveraging TryParse, and iterating input until a valid negative value is returned.
Override the equals method and equality operators to make reference type equality behave like value type equality, as shown by comparing car objects with the horsepower property.
Const yields compile-time immutable values (often static for a class), while readonly fields allow runtime assignment in the declaration or constructor, preventing further changes; strings are a noted exception.
The course presents the most important issues of the C# language that are necessary to create web, mobile or desktop applications on the .NET platform.
With an organized theory of the C# language and practical tasks, the course is ideal for learning C# for people who are just starting their adventure with programming.
The course will familiarize you with the .NET Core platform, which is the latest tool from Microsoft for creating cross-platform applications, including web and web APIs.
Due to its high efficiency, open-source code, and the possibility of implementation on various systems, it is becoming more and more popular.
During the course, you will learn, among other things:
- use C# language to create console applications
- create your own classes and use built-in types
- control program flow using conditional statements and loops
- use collections in programs to store and manipulate data