复制代码 代码如下:
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);
}
}
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!