我有一个 Linq 查询,我需要根据列表中是否存在记录在我的 select 子句中有一个值。这是我的查询:
var records = (from il in itemList
join ci in catalogueItemList on il.CatalogueItemID equals ci.CatalogueItemID
join pd in publicationDataList on il.CatalogueItemID equals pd.CatalogueItemID
select new { il.ItemID, pd.ISBN, ci.Title, ci.CatalogueItemID, il.LocationID, il.Missing, }).ToList();
我有一个名为 itemCheckoutDictionary 的字典,我想要的伪代码是:
if (itemCheckDictionary.ContainsKey(i.itemID)) then "Checked Out" else "In"
我需要在我的 select 子句中使用它,但我不确定如何完成它。
最佳答案
你试过了吗ternary operator ?
string s = itemCheckDictionary.ContainsKey(i.itemID) ? "Checked Out" : "In";
关于C# if 语句在 LINQ select 子句中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27548860/