Amazon.Runtime.Internal.Util.OptimisticLockedTextFile.ReadLinesWithEndings C# (CSharp) Метод

ReadLinesWithEndings() приватный статический Метод

private static ReadLinesWithEndings ( string str ) : List
str string
Результат List
        private static List<string> ReadLinesWithEndings(string str)
        {
            var lines = new List<string>();
            var length = str.Length;
            var i = 0;
            var currentLineStart = 0;
            while (i < length)
            {
                if (str[i] == '\r')
                {
                    i++;
                    if (i < length && str[i] == '\n')
                    {
                        i++;
                    }
                    lines.Add(str.Substring(currentLineStart, i - currentLineStart));
                    currentLineStart = i;
                }
                else if (str[i] == '\n')
                {
                    i++;
                    lines.Add(str.Substring(currentLineStart, i - currentLineStart));
                    currentLineStart = i;
                }
                else
                {
                    i++;
                }
            }

            if (currentLineStart < i)
            {
                lines.Add(str.Substring(currentLineStart, i - currentLineStart));
            }

            return lines;
        }
    }