โ€ข Weekly coding tricks (each Tuesday) โ€ข Daily Software Engineer thoughts & quick tips โ€ข Developing an app to create your own code snippets!

Check here ๐Ÿ‘‰
Joined July 2024
Master C#'s TimeProvider for ultimate time control! Hardcoding DateTime.Now or DateTimeOffset.UtcNow makes your code impossible to test reliably. .NET 8 introduced TimeProvider โ€” an injectable abstraction for time that lets you freeze, advance, or mock time in tests without any hacks.
1
26
C# 14 introduces extension blocks โ€” a cleaner way to add methods, properties, and operators to existing types. They unify extension members, reduce boilerplate, and make type extension more expressive without modifying the original type.
20
C# 11's Raw String Literals simplify multi-line strings embedded in your code. No more escaping quotes or special characters. Easy interpolation even with curly braces that you want to escape. Visual Studio and the C# Dev Kit provide some validation and syntax highlighting when raw string literals contain JSON data or regular expressions. You can help this mechanism using a dedicated comment above the literal.
59
โœจ C# 12 introduced Collection Expressions It's a cleaner, more expressive syntax for initializing arrays, lists, spans, and even ImmutableArrays using simple square brackets `[ ]`. The spread operator `..` lets you merge existing collections inline. No more chaining `.Concat()`, `.Append()`, and `.ToArray()` just to combine two arrays.
20
๐Ÿ˜ฎโ€๐Ÿ’จTired of writing the same math method multiple times for int, double, and decimal? C# 11 introduced Generic Math โ€” constrain T to INumber and the +, -, *, / operators just work. One method. Any numeric type. Full type safety. ๐Ÿš€
38
Did you know C# can automatically capture the text of an argument passed to a method? No more "Value cannot be null" without knowing which value. Perfect for validation and assertion utilities.
27
C# Tip: Ever had a null check that silently lied to you? In C#, != null can be overloaded by a class to return whatever it wants. is not null bypasses that entirely. It's a pattern match against the actual reference, not an operator call. Small difference, big consequences.
1
1
35
๐Ÿ”ฅ C#: Add new interface members without breaking existing implementations! With default interface implementations (C# 8+), you can add a method directly to an interface with a default body โ€” classes that already implement the interface don't need to change a thing. Perfect for evolving library APIs without forcing every consumer to update. ๐Ÿ’ฌ Do you use default interface implementations in your projects, or do you prefer extension methods (or blocks) / abstract base classes for this?
1
42
๐Ÿง  JavaScript Proxies allow you to wrap an object and intercept operations like property access, assignment, deletion, and even function calls. You define a handler with traps that customize behavior. Perfect for logging and validation.
1
77
โœจ C# Tip Easily generate sequences of numbers within a specified range using Enumerable.Range(). Define your start & count to get exactly what you need for loops, arrays, or tests. Simplify your code!
1
42