Browse by Topic

Popular

Latest

Latest C# Posts

Two overlapping object diagrams with a comparison symbol, illustrating reference equality versus value equality in C#.
C#

C# Reference Equality vs Value Equality

c# reference equality vs value equality: Understand the difference between reference equality and value equality in C#, how to implement custom equality, and when reco...

EqualityIEquatableRecordsStructs
Diagram showing two objects being compared by a custom C# equality comparer with hash and equality checks.
C#

C# Equality Comparer: Implementing IEqualityComparer<T>

Learn how to implement a C# equality comparer with IEqualityComparer<T> for LINQ and Dictionary, including GetHashCode rules and performance considerations.

IEqualityComparerLINQGetHashCodeDictionary
A visual representation of the C# discard pattern showing an underscore placeholder ignoring an unused value in a code context.
C#

C# Discard Pattern: Syntax and Practical Use Cases

Learn how to use C# discards with out parameters, deconstruction, and pattern matching, plus common pitfalls to avoid.

C#DiscardPattern MatchingDeconstruction
C# var pattern illustration showing a variable assignment in a pattern matching context.
C#

C# var Pattern: Syntax, Use Cases, and Pitfalls

c# var pattern: Learn how the C# var pattern works, where it fits in pattern matching, and when it's useful versus other patterns.

C#pattern matchingvar patternswitch expressions
Illustration of a C# iterator deferring execution until enumeration, showing a lazy sequence.
C#

C# Iterator Deferred Execution

In C#, iterator methods that use yield return defer execution until enumeration. This article covers state-machine behavior, exception timing, side effects, and when to materialize a sequence.

C#iteratorsdeferred executionyield return
A diagram showing a foreach loop connecting to an IEnumerator interface with MoveNext and Current, symbolizing iteration in C#.
C#

Understanding IEnumerator in C#

c# ienumerator: Learn how IEnumerator powers foreach in C#, how to implement custom enumerators manually or with yield, and the performance tradeoffs to consider.

IEnumeratorIEnumerableforeachyield return
Illustration of C# IEnumerable representing a lazy sequence with deferred execution.
C#

C# IEnumerable: How It Works and When to Use It

C# IEnumerable: Learn how IEnumerable<T> works, including deferred execution, yield return, and when to choose it over List or IQueryable.

C#IEnumerableLINQDeferred Execution
Diagram showing a C# iterator method with yield return and yield break, illustrating early termination of sequence generation.
C#

C# Yield Break: How to End Iterator Methods

Learn how yield break terminates a C# iterator method, its behavior, and when to use it for early exit in lazy sequences.

yielditeratorC# programminglazy evaluation
Diagram showing a lazy iterator generating values on demand with c# yield return
C#

C# yield return: Lazy Iteration Explained

Learn how C# yield return creates lazy iterators, when to use it, and how it affects memory and execution.

C#yielditeratorlazy evaluation
Illustration comparing a deferred LINQ query with an immediate execution that materializes a list.
C#

C# LINQ Immediate Execution: When and How to Force It

Understand when C# LINQ queries actually run, how ToList, ToArray, and aggregate methods force immediate execution, and what that means for performance and correctness.

LINQC#Deferred ExecutionQuery Execution