加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

使用迭代器 遍历文件信息的详解

发布时间:2020-12-13 06:21:30 所属栏目:PHP教程 来源:网络整理
导读:1.迭代文件的行 代码如下: public static IEnumerable ReadLines(string fileName) { using (TextReader reader = File.OpenText(fileName)) { string line; if ((line = reader.ReadLine()) != null) { yield return line; } } } static void Main() { fore

1.迭代文件的行

代码如下:
public static IEnumerable 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 where(IEnumerable source,Predicate predicate)
{
if (source == null || predicate == null)
{
throw new ArgumentNullException();
}
return WhereImplemeter(source,predicate);
}
private static IEnumerable WhereImplemeter(IEnumerable source,Predicate predicate)
{
foreach (T item in source)
{
if (predicate(item))
{
yield return item;
}
}
}
static void Main()
{
IEnumerable lines = File.ReadAllLines(@"your file name");
Predicate predicate = delegate(string line)
{
return line.StartsWith("using");
};
foreach (string str in where(lines,predicate))
{
Console.WriteLine(str);
} }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读