Количество строк в текстовом файле

using System;
using System.Diagnostics.Contracts;


public class TextUtilities
{
    public static int GetLineCount(String text)
    {
        int lcnt = 1;
        for (int i = 0; i < text.Length; i++)
        {
            if (text[i] == '\n')
                lcnt += 1;
        }
        return lcnt;
    }

    public static int GetFirstCharIndexFromLineIndex(string text, int lineIndex)
    {
        if (text == null)
            throw new ArgumentNullException("text");
        if (lineIndex <= 0)
            return 0;

        int currentLineIndex = 0;
        for (int i = 0; i < text.Length - 1; i++)
        {
            if (text[i] == '\n')
            {
                currentLineIndex += 1;
                if (currentLineIndex == lineIndex)
                    return Math.Min(i + 1, text.Length - 1);
            }
        }

        return Math.Max(text.Length - 1, 0);
    }
    public static int GetLastCharIndexFromLineIndex(string text, int lineIndex)
    {
        if (text == null)
            throw new ArgumentNullException("text");
        if (lineIndex < 0)
            return 0;

        int currentLineIndex = 0;
        for (int i = 0; i < text.Length - 1; i++)
        {
            if (text[i] == '\n')
            {
                if (currentLineIndex == lineIndex)
                    return i;
                currentLineIndex += 1;
            }
        }

        return Math.Max(text.Length - 1, 0);
    }
}
Взято с http://www.java2s.com/Code/CSharp/File-Stream/Returnstherawnumberofthecurrentlinecount.htm

Комментариев нет:

Отправить комментарий

Большая просьба, не писать в комментариях всякую ерунду не по теме!