什么是 sheet = sheetList.FirstOrDefault(ws => ws.Name == string.Format(name, i));意思?

What does sheet = sheetList.FirstOrDefault(ws => ws.Name == string.Format(name, i)); mean?

我正在开发具有以下代码行的 Excel 加载项:

sheet = sheetList.FirstOrDefault(ws => ws.Name == string.Format(name, i));

这是什么意思?更具体地说,我不知道 ws => ws.Name 是什么意思。

Enumerable.FirstOrDefault 是一种适用于任何 IEnumerable<T> 的扩展方法。它的目的是产生与给定 Func<T, bool> 匹配的第一个项目,这相当于一个谓词。

这个谓词将做的是尝试将项目的名称 ws.Name 与从 string.Format(name, i).

返回的另一个字符串相匹配

它的作用相当于:

foreach (var sheet in sheetList)
{
    var formattedSheetName = string.Format(name, i);
    if (sheet.Name == formattedSheetName)
    {
        return sheet;
    }
}

表示从sheetList提供Firstsheet其Name=string.Format(name, i).

很像

Sheet sheet = null;
foreach(Sheet ws in sheetList)
{
    if (ws.Name == string.Format(name, i))
    {
       sheet = ws;
       break;
    }
}

sheet = sheetList.FirstOrDefault(ws => ws.Name == string.Format(姓名, i));