c# начиная со второго элемента в var

var lines = File.ReadAllLines(filelocation);
                char[] space = { ',' };
                string templine;
                foreach (string line in lines)
                {}

как мне это сделать foreach (string line in lines[1:]) ? я хочу пропустить первый элемент и начать foreach со второго

1 ответов


Если вы нацелены на .NET 3.5 или выше, LINQ:

foreach (string line in lines.Skip(1)) {...}

хотя есть много данных, а строки-читатель может быть лучше, чтобы избежать необходимости держать все строки в памяти:

public static IEnumerable<string> ReadLines(string path) {
    using(var reader = File.OpenText(path)) {
        string line;
        while((line = reader.ReadLine()) != null) {
            yield return line;
        }
    }
}

затем:

foreach(var line in ReadLines(filelocation).Skip(1)) {...}