C# Programming Language
Modern, object-oriented programming language for .NET platform with strong typing and automatic memory management
Table of Contents
Getting Started
Basic setup and first program
Hello World
Your first C# program
Comments
Code documentation
Variables & Data Types
Basic data types and variable declarations
Basic Types
Common data types
Variable Declaration
Declaring and initializing variables
Control Flow
Conditionals and loops
If Statements
Conditional execution
Loops
Iteration and repetition
Methods (Functions)
Defining and calling methods
Method Basics
Creating and using methods
Parameters & Returns
Advanced parameter passing
Basic Syntax
Fundamental C# syntax and structure
Hello World
Basic program structure
Variables and Data Types
Variable declaration and common data types
Object-Oriented Programming
Classes, objects, inheritance, and polymorphism
Classes and Objects
Defining classes and creating objects
Inheritance and Polymorphism
Class inheritance and method overriding
Collections and Generics
Working with collections and generic types
Generic Collections
List, Dictionary, and other generic collections
LINQ and Lambda Expressions
Language Integrated Query and functional programming
LINQ Query Syntax
Querying collections with LINQ
Async/Await and Tasks
Asynchronous programming patterns
Basic Async/Await
Asynchronous methods and Task handling
Exception Handling
Error handling and custom exceptions
Try-Catch-Finally
Basic exception handling patterns
Interfaces and Abstract Classes
Contracts and abstract implementations
Interface Implementation
Creating and implementing interfaces
Delegates and Events
Function pointers and event-driven programming
Delegates and Func/Action
Working with delegates and built-in delegate types
Properties and Indexers
Advanced property patterns and indexers
Property Patterns
Auto-properties, computed properties, and validation
Extension Methods and Nullable Types
Extending existing types and handling null values
Extension Methods
Adding methods to existing types
Attributes and Reflection
Metadata and runtime type inspection
Custom Attributes
Using and creating attributes for metadata
Pattern Matching
Advanced pattern matching and switch expressions
Switch Expressions
Modern pattern matching with switch expressions
Records and Value Types
Modern data types and value semantics
Record Types
Immutable reference types with value semantics
Memory Management
Memory optimization and performance considerations
IDisposable and Using
Resource management and deterministic cleanup
Latest C# Features
Modern C# features and syntax improvements
C# 10-12 Features
Latest language enhancements and syntax improvements