我是C#的新手,正在尝试理解另一位开发人员的代码-参见下文:
nameFile.ForEach(x =>
{
FileChecker singleFile = new FileChecker();
singleFile.FileName = x;
singleFile.FoundDT = DateTime.Now;
singleFile.IsData = this.IsData(singleFile.FileName);
singleFile.IsStore = this.IsStore(singleFile.FileName);
if (singleFile.IsData )
{
//...
}
});
这是来自
FileChecker
定义的代码片段:public FileChecker()
{
this.fileDownloaded = false;
this.IsData = false;
this.IsStor = false;
}
public bool IsData { get; set; }
public bool IsStore { get; set; }
我有两个问题:
有人可以向我解释或指向解释该foreach工作原理的链接吗? ForEach(x => ...);
我不理解此语句
(singleFile.IsData )
的工作方式,因为定义仅是:public bool IsData { get; set; }
换句话说,开发人员想要寻找什么? IsData是什么意思?他是否打算查看它是否符合条件(例如文件名语法)?
最佳答案
上面回答了第一个问题,它只是一个lambda表达式,其中包含需要在foreach的每次迭代中执行的代码。
对于第二个问题,如果要查找IsData属性的目的,请转到该类(第一个代码块中的类)的IsData方法内部。