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

我正在处理Excel加载项,它具有以下代码行:

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

这是什么意思? 更具体地说,我无法弄清楚ws => ws.Name含义。

它意味着提供sheetListFirst表,其Namestring.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(name,i));

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

这个谓词会做的是试图将项目的名字ws.Name匹配到从string.Format(name, i)返回的另一个string。

它所做的相当于:

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