我有以下函数迭代某些行并搜索数据库中的文件。如果在数据库中找不到文件,则存储库将返回null,然后该函数应返回空ResultRow。 if语句之后的Assert()在某些情况下会触发。为什么?怎么可能?
IEnumerable<ResultRow> DoRows(SequenceListWithQc list,
IList<TestSpecification> testSpecs, bool writeResults=false)
{
foreach (var row in list.Rows)
{
var result = new ResultRow();
result.FileName = row.Columns[list.Headers.IndexOf("File Name")];
var rawFile = repository.GetRawFileByFilename(result.FileName);
if (rawFile == null)
{
yield return result;
}
Debug.Assert(rawFile != null);
}
}
答案 0 :(得分:2)
您可以调用continue继续移动到循环中的下一行
if (rawFile == null)
{
yield return result;
continue;
}