获取按条件过滤的集合中元素的位置
Get position of element in collection filtered by a condition
我需要在按条件过滤时获取元素的索引(位置)。
这里是按条件过滤的代码:
var rank = await _dbContext.VwJobSupplierWithScores
.OrderBy(x => x.CalculatedSpendCurrencyJob)
.FirstOrDefaultAsync(x => x.JobId == jobId && x.SupplierKey == supplierKey);
我需要获取 .FirstOrDefaultAsync
之前 returns 的元素在集合中的位置
我该怎么做?
您可以使用以下内容:
var rankPair = await _dbContext.VwJobSupplierWithScores
.OrderBy(x => x.CalculatedSpendCurrencyJob)
.Select((x, i) => new { item = x, index = i })
.Where(pair => pair.item.JobId == jobId && pair.item.SupplierKey == supplierKey)
.FirstOrDefaultAsync();
var rank = rankPair.item;
int index = rankPair.index;
我需要在按条件过滤时获取元素的索引(位置)。
这里是按条件过滤的代码:
var rank = await _dbContext.VwJobSupplierWithScores
.OrderBy(x => x.CalculatedSpendCurrencyJob)
.FirstOrDefaultAsync(x => x.JobId == jobId && x.SupplierKey == supplierKey);
我需要获取 .FirstOrDefaultAsync
我该怎么做?
您可以使用以下内容:
var rankPair = await _dbContext.VwJobSupplierWithScores
.OrderBy(x => x.CalculatedSpendCurrencyJob)
.Select((x, i) => new { item = x, index = i })
.Where(pair => pair.item.JobId == jobId && pair.item.SupplierKey == supplierKey)
.FirstOrDefaultAsync();
var rank = rankPair.item;
int index = rankPair.index;