使用迭代器 遍历文件信息的详解
2015-01-24信息快讯网
本篇文章是对使用迭代器 遍历文件的信息进行了详细的分析介绍,需要的朋友参考下
1.迭代文件的行public static IEnumerable<string> ReadLines(string fileName) { using (TextReader reader = File.OpenText(fileName)) { string line; if ((line = reader.ReadLine()) != null) { yield return line; } } } static void Main() { foreach (string line in Iterator.ReadLines("")) { Console.WriteLine(line); } }
2.使用迭代器和谓词对文件中的行进行筛选
public static IEnumerable<T> where<T>(IEnumerable<T> source, Predicate<T> predicate) { if (source == null || predicate == null) { throw new ArgumentNullException(); } return WhereImplemeter(source, predicate); } private static IEnumerable<T> WhereImplemeter<T>(IEnumerable<T> source, Predicate<T> predicate) { foreach (T item in source) { if (predicate(item)) { yield return item; } } } static void Main() { IEnumerable<string> lines = File.ReadAllLines(@"your file name"); Predicate<string> predicate = delegate(string line) { return line.StartsWith("using"); }; foreach (string str in where(lines, predicate)) { Console.WriteLine(str); } }