From 51bed019c56ed2df9aec534a441814a5b0a3a668 Mon Sep 17 00:00:00 2001 From: bsilvia <5374098+bsilvia@users.noreply.github.com> Date: Tue, 14 Nov 2023 11:59:57 -0800 Subject: [PATCH] Add usage example of looping over range to README and update benchmark baseline to match usage example. --- README.md | 17 +++++++++++++++++ .../Enumerable/RangeEnumeratorBenchmarks.cs | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d61964b..75bf44f 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ Some random C# extension methods I've found useful. Published as Ardalis.Extensi - [Installation](#installation) - [Usage](#usage) + - [Enumerable](#enumerable) - [String checks](#string-checks) - [Conventions for Contributors](#conventions-for-contributors) - [Benchmarks](#benchmarks) @@ -24,6 +25,22 @@ dotnet add package Ardalis.Extensions ## Usage +### Enumerable + +RangeEnumerator allows you to loop over a range of integers up to and including the ending value. + +```csharp +// replace +for(var i = 0; i <= 10; i++) + +// with +foreach(var i in 0..10) +// or +foreach(var i in ..10) +// or +foreach(var i in 10) +``` + ### String Checks IsNull() checks whether a given string is null. diff --git a/benchmarks/Ardalis.Extensions.Benchmarks/Enumerable/RangeEnumeratorBenchmarks.cs b/benchmarks/Ardalis.Extensions.Benchmarks/Enumerable/RangeEnumeratorBenchmarks.cs index 7d446ac..417e918 100644 --- a/benchmarks/Ardalis.Extensions.Benchmarks/Enumerable/RangeEnumeratorBenchmarks.cs +++ b/benchmarks/Ardalis.Extensions.Benchmarks/Enumerable/RangeEnumeratorBenchmarks.cs @@ -13,7 +13,7 @@ public class RangeEnumeratorBenchmarks [Benchmark(Baseline = true)] public void NormalForLoop() { - for (int i = 0; i < End; i++) + for (int i = 0; i <= End; i++) { DoNotOptimizeAway(i); }