我正在处理具有以下代码行的Excel加载项:
sheet = sheetList.FirstOrDefault(ws => ws.Name == string.Format(name, i));
这是什么意思?更具体地说,我无法弄清ws => ws.Name
的含义。
答案 0 :(得分:1)
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;
}
}
答案 1 :(得分:1)
这意味着从First
= sheetList
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 =&gt; ws.Name == string.Format(name,i));