About
This post contains a collection of C# related things I learned and projects I did. The C# Code Snippets section is where you can find C# and .NET related topics like decision statements, Object-Oriented programming in C#, Threading, Events, Collections, … Meanwhile, under Algorithms and useful bits of code you will be able to find such things as sorting algorithms, quick how-tos, and other useful bits of code that don’t really fit anywhere else. And finally, there is the C# Project section that has my C# projects.
Note
Here you won’t find a complete set of step by step tutorials but rather a list of quick tutorials on a certain topic with code examples. I left out some of the more trivial things and the absolute basics. I only included the things that I thought were the most important or the things I was most likely to forget.
If you are looking for complete step by step tutorials I would recommend the #adAmazon LinkMicrosoft Visual C# Step by Step book written by John Sharp. It’s a great book that pretty much covers most things you will ever need to know about C#. Also, there are plenty of great video tutorials on youtube.
C# Code Snippets
- Working with the Console
- Variables
- Dynamic Keyword
- Variable Scope and Code Blocks
- Data Types
- Nullable Types, Null Checking And Coalescing Operators
- Tuples
- Records
- Boxing And Unboxing
- Working With Strings
- Working With Dates And Time
- Constants
- Readonly
- Arrays
- Ranges
- Decision statements
- Operators
- Bitwise Operators
- Data Type Conversion
- Iteration
- Break and Continue
- Methods
- Overloaded Methods
- Operator Overloading
- Params Keyword
- Class
- Fields and Properties
- Constructors
- Static
- Struct
- Record
- Partial Class
- Access Modifiers
- Inheritance
- Base Keyword
- As Operator
- Is Operator
- Pattern Matching
- Generics
- Indexers
- Method Output Parameters
- Ref Keyword
- Recursion
- Unchecked
- Exceptions
- Using Keyword
- Enumerations
- Abstract Keyword
- Interfaces
- Polymorphism
- Covariance And Contravariance
- List
- Dictionary
- Queues and Stacks
- Object and Collection Initializers
- Sealed Keyword
- Anonymous Methods
- Extension Methods
- LINQ
- Preprocessor Directives
- Attributes
- goto Keyword
- String Literals
- String Interpolation
- Reflection
- IEnumerable and IEnumerator
- Reading/Writing Files
- Delegates
- Events
- Event Arguments
- Lambda Expressions
- Threads and Multithreading
- Sending/Receiving Data From a Thread
- Thread Data Exchange by Object
- Threads and Resource Locking
- Thread Join, IsAlive, Abort
- Solving a Thread Deadlock
- Thread Pooling
- Mutex, Semaphore and Thread Signaling
- Async/Await
- TPL(Task Parallel Library)
- Unsafe code, Pointers, Stackalloc and Spans
- COM Objects, Interop with PInvoke And Type Marshalling
Algorithms and useful bits of code
- Looping Through An Array
- Recursive File Iteration
- GUIDs
- Binary Serialization(Serialization)
- XML Serialization(Serialization)
- JSON Serialization(Serialization)
- WFA Open File Dialog
- GPU Acceleration For Your C# App With ILGPU
- Basic Algorithms And Data Structures
- Transient Fault Handling With Polly
- Blazor Wasm File Uploads And Downloads
- Creating C# Libraries and Private NuGet Packages
Azure Functions
- File Uploads With Azure Functions
- Getting Started With C# Azure Functions
- Transient Fault Handling With Polly
- Warming Azure Functions To Prevent Coldstarts
- Azure DevOps CI/CD Pipeline For Azure Functions
- Working With Azure Storage Account Tables In C#
- Working With Azure Storage Account File Shares In C#
- Working With Azure Storage Account Blobs In C#
- Working With Azure Storage Account Queues In C#
C# Projects
Here are a couple of projects utilizing C# and some of the concepts from above.