1.迭代文件的行
public static IEnumerable ReadLines(string fileName)<BR> {<BR> using (TextReader reader = File.OpenText(fileName))<BR> {<BR> string line;<BR> if ((line = reader.ReadLine()) != null)<BR> {<BR> yield return line;<BR> }<BR> }<BR> }<BR> static void Main()<BR> {<BR> foreach (string line in Iterator.ReadLines(""))<BR> {<BR> Console.WriteLine(line);<BR> }<BR> }<BR>
2.使用迭代器和谓词对文件中的行进行筛选
public static IEnumerable where(IEnumerable source, Predicate predicate)<BR> {<BR> if (source == null || predicate == null)<BR> {<BR> throw new ArgumentNullException();<BR> }<BR> return WhereImplemeter(source, predicate);<BR> }<BR> private static IEnumerable WhereImplemeter(IEnumerable source, Predicate predicate)<BR> {<BR> foreach (T item in source)<BR> {<BR> if (predicate(item))<BR> {<BR> yield return item;<BR> }<BR> }<BR> }<BR> static void Main()<BR> {<BR> IEnumerable lines = File.ReadAllLines(@"your file name");<BR> Predicate<em style="color:transparent">本@文来源[email protected]搞@^&代*@码网(</em><q>搞代gaodaima码</q> predicate = delegate(string line)<BR> {<BR> return line.StartsWith("using");<BR> };<BR> foreach (string str in where(lines, predicate))<BR> {<BR> Console.WriteLine(str);<BR> }<br><br> }<BR>