diff --git a/src/Spectre.Console/Internal/Cell.cs b/src/Spectre.Console/Internal/Cell.cs index 1a8a0ce..c904757 100644 --- a/src/Spectre.Console/Internal/Cell.cs +++ b/src/Spectre.Console/Internal/Cell.cs @@ -8,7 +8,13 @@ namespace Spectre.Console { public static int GetCellLength(RenderContext context, string text) { - return text.Sum(rune => GetCellLength(context, rune)); + var sum = 0; + foreach (var rune in text) + { + sum += GetCellLength(context, rune); + } + + return sum; } public static int GetCellLength(RenderContext context, char rune) diff --git a/src/Spectre.Console/Rendering/Segment.cs b/src/Spectre.Console/Rendering/Segment.cs index 6b64837..ba6f5ff 100644 --- a/src/Spectre.Console/Rendering/Segment.cs +++ b/src/Spectre.Console/Rendering/Segment.cs @@ -135,7 +135,13 @@ namespace Spectre.Console.Rendering throw new ArgumentNullException(nameof(segments)); } - return segments.Sum(segment => segment.CellCount(context)); + var sum = 0; + foreach (var segment in segments) + { + sum += segment.CellCount(context); + } + + return sum; } ///