我想訪問元素,但我得到了
System.InvalidOperationException: '序列不包含任何元素
請幫助 - 下面是代碼
var highestCleredFormId = dataUpdates.Where(dat => dat.IsCleared).Select(dat => dat.ID).Max();
uj5u.com熱心網友回復:
錯誤很明顯 - 在這種情況下dataUpdates.Where(dat => dat.IsCleared)沒有元素。也就是說,dataUpdates沒有IsCleared成員值為 true 的元素。首先檢查是否有任何元素,然后獲取最大值:
var clearedDataUpdates = dataUpdates.Where(dat => dat.IsCleared).ToList();
if (clearedDataUpdates.Any())
{
var highestClearedFormId = clearedDataUpdates.Select(dat => dat.ID).Max();
// ...
}
uj5u.com熱心網友回復:
.Max()當在空序列上呼叫時會發生此例外..
使用DefaultIfEmpty前Max
var highestCleredFormId = dataUpdates
.Where(dat => dat.IsCleared)
.Select(dat => dat.ID)
.DefaultIfEmpty()
.Max();
uj5u.com熱心網友回復:
這可能是因為dataUpdates.Where(dat => dat.IsCleared)是空的,請檢查是否有任何物件將 IsCleared 設定為true
您可以在 Where 子句之后進行空檢查
dataUpdates.Where(dat => dat.IsCleared)?.Select(dat => dat.ID).Max();
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/513891.html
標籤:C#。网林克
