我是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方法内部。

10-08 05:06