C# if 语句在 LINQ select 子句中

标签 c# linq

我有一个 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/

相关文章:

c# - LINQ 查询无法评估 StartsWith 中的 GET 参数

c# - 队列保持引用或对象值?

c# - 行为 View 模型绑定(bind)

c# - 在编译时替换 const 值

c# - 如何从 Blazor 页面修改布局?

C# 按 double 列表对字符串列表进行排序

c# - 使用 linq 查询简化流程

c# - 从服务向 WPF 应用程序发送通知的好方法

c# - LINQ 选择一列中具有 Max 且另一列中具有 Distinct 的行

c# - 使用 LINQ 获取平均值