Posted in PHP onJune 08, 2013
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); } }
使用迭代器 遍历文件信息的详解
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@