C# Programming
A lightweight execution-visualization book.
Foundations
Hello C#
Variables
Arrays
Conditionals
Loops
Methods
Data Types
Primitive Types
Strings and Chars
Boolean Logic
Type Conversion
Nullable Values
Constants and Enums
Control Flow
If and Else
Else-If Chains
Switch Statements
For Loops
Foreach Loops
Break and Continue
Collections
Array Indexing
List Add and Remove
Dictionary Lookup
Foreach Sum
Search and Count
List Update
Methods and Parameters
Return Values
Parameters
Default Parameters
Named Arguments
Out Parameters
Overloads
Classes and Objects
Class Definition
Constructors
Fields
Instance Methods
Multiple Objects
Composition
Properties and Encapsulation
Auto Properties
Get-Only Properties
Private Fields
Validation Properties
Computed Properties
Encapsulated State
Inheritance and Polymorphism
Base Classes
Derived Classes
Protected Members
Method Overriding
Base Method Calls
Polymorphic Arrays
Interfaces and Abstractions
Interface Intro
Implementing Interfaces
Interface Variables
Interface Polymorphism
Abstract Classes
Dependency Inversion
Exceptions and Defensive Coding
Guard Clauses
Try Catch
Throw and Catch
Finally Clause
TryParse
Null Checks
Generics
Generic Methods
Generic Classes
List Type Safety
Generic Constraints
Generic Interfaces
Type Inference
Delegates and Lambdas
Delegate Variables
Method Groups
Lambda Expressions
Passing Delegates
Predicate Filter
Func and Action
LINQ Basics
Where Filter
Select Projection
Count and Sum
FirstOrDefault
OrderBy
Query Syntax
Nullable and Pattern Matching
Nullable Value Types
Null Coalescing
Nullable References
Pattern Is
Switch Expression
Property Patterns
Records and Modern Types
Record Basics
Value Equality
With Expressions
Init Properties
Deconstruction
Target-Typed New
Files and Streams
String Reader
String Writer
Memory Stream
Stream Reader
Path Parts
Using Disposal
Dates, Times, and Formatting
Date Basics
Time Spans
Date Arithmetic
Formatting Dates
Parsing Dates
Time Zones