CommonMarkSharp.CharSet.GetRanges C# (CSharp) Method

GetRanges() private static method

private static GetRanges ( string chars ) : IEnumerable
chars string
return IEnumerable
        private static IEnumerable<Range> GetRanges(string chars)
        {
            var orderedChars = OrderChars(chars).Select(c => (int)c);
            var count = orderedChars.Count();
            Range range = null;

            foreach (var c in orderedChars)
            {
                if (range == null)
                {
                    range = new Range(c);
                }
                else if (range.End + 1 < c)
                {
                    yield return range;
                    range = new Range(c);
                }
                else
                {
                    range.End = c;
                }
            }
            if (range != null)
            {
                yield return range;
            }
        }
    }