Learn the fundamentals of C# and the .NET ecosystem.
- What is C#?
- History and evolution
- .NET Framework vs .NET Core vs .NET 5+
- Common Language Runtime (CLR)
- Just-In-Time (JIT) compilation
- Setting up development environment
- Visual Studio and VS Code
- First C# program
Master the fundamental syntax and program structure of C#.
- Program structure
- Namespaces
- Using directives
- Main method
- Comments
- Code organization
- Assembly and modules
- Project structure
Work with C#'s strong typing system and variable declarations.
- Value types vs reference types
- Built-in data types
- Variable declaration and initialization
- Constants and readonly
- var keyword
- Type conversion and casting
- Nullable types
- Default values
Master C# operators and build complex expressions.
- Arithmetic operators
- Comparison operators
- Logical operators
- Assignment operators
- Bitwise operators
- Null-conditional operators
- Operator precedence
- Operator overloading
Control program execution with conditionals and loops.
- if, else if, else statements
- switch statements and expressions
- for loops
- while and do-while loops
- foreach loops
- break and continue
- goto statement
- Pattern matching
Create reusable code with methods and understand parameter passing.
- Method declaration and definition
- Method parameters
- Return types and values
- Method overloading
- Optional parameters
- Named arguments
- ref, out, and in parameters
- Local functions
Work with arrays and various collection types in C#.
- Array declaration and initialization
- Multidimensional arrays
- Jagged arrays
- Array methods and properties
- List<T> collection
- Dictionary<TKey, TValue>
- HashSet<T> and Queue<T>
- LINQ with collections
Master string manipulation and text processing in C#.
- String creation and immutability
- String interpolation
- StringBuilder class
- String methods and operations
- Regular expressions
- Text encoding and decoding
- String formatting
- Culture-specific operations
Master OOP concepts including classes, inheritance, and polymorphism.
- Classes and objects
- Fields, properties, and methods
- Constructors and destructors
- Access modifiers
- Inheritance
- Method overriding
- Abstract classes
- Sealed classes
Implement interfaces and understand polymorphic behavior.
- Interface definition and implementation
- Multiple interface inheritance
- Explicit interface implementation
- Polymorphism concepts
- Virtual and override keywords
- Interface segregation
- Dependency injection basics
- Default interface methods
Handle errors gracefully with exception handling mechanisms.
- Exception handling basics
- try, catch, finally blocks
- Exception types
- Throwing exceptions
- Custom exceptions
- Exception best practices
- Debugging techniques
- Logging and monitoring
Create type-safe and reusable code with generic programming.
- Generic classes and methods
- Type parameters and constraints
- Generic collections
- Covariance and contravariance
- Generic interfaces
- Generic delegates
- Performance benefits
- Generic best practices
Implement callback mechanisms and event-driven programming.
- Delegate basics
- Multicast delegates
- Anonymous methods
- Lambda expressions
- Func and Action delegates
- Events and event handling
- Event best practices
- Observer pattern
Query data effectively using Language Integrated Query (LINQ).
- LINQ basics and syntax
- Query expressions
- Method syntax
- LINQ operators
- LINQ to Objects
- LINQ to XML
- Deferred execution
- Custom LINQ extensions
Handle file operations and data serialization in C#.
- File and directory operations
- Stream classes
- Text file reading/writing
- Binary file operations
- JSON serialization
- XML serialization
- Configuration files
- Memory-mapped files
Master async/await and asynchronous programming patterns.
- Asynchronous programming concepts
- async and await keywords
- Task and Task<T>
- Async method patterns
- ConfigureAwait
- Cancellation tokens
- Parallel programming
- Thread safety
Explore advanced C# language features and modern syntax.
- Records and record types
- Pattern matching
- Tuples and deconstruction
- Nullable reference types
- Switch expressions
- Init-only properties
- Target-typed new expressions
- Global using directives
Build real-world applications with .NET frameworks and libraries.
- Console applications
- Windows Forms basics
- WPF introduction
- ASP.NET Core basics
- Web API development
- Entity Framework Core
- Testing frameworks
- Deployment strategies