0

我不知道如何在我的列表中执行 if 检查条件,我相信“Lambda 表达式”可以帮助但不知道

这是我的代码

List<ResourceBookingEntity> ResourceBookingList = new List<ResourceBookingEntity>();
foreach (var r in query)
{
    ResourceBookingEntity RecourceEntity = new ResourceBookingEntity()
    {

        PRJ_ID = r.PRJ_ID,
        WONUM = r.WONUM,
        JOBDESC = r.JOBDESC,
        SAPCCr = // If r.PRJ_ID =1 or 2 then SAPCCr =r.WONUM 
                        // elseif r.PRJ_ID= 3then SAPCCr =r.JOBDESC
        };
    ResourceBookingList.Add(RecourceEntity);

在这里我想要做什么,我有 linq 查询,它返回基于 r.PRJ.ID 值的结果,我试图填充 SAPCCr 值。

If r.PRJ_ID = 1 or 2 then 
SAPCCr = r.WONUM 
elseif r.PRJ_ID = 3
then 
SAPCCr = r.JOBDESC

提前致谢

4

3 回答 3

2

我认为您正在寻找条件运算符

SAPCCr = r.PRJ_ID == 1 ? r.WONUM :r.JOBDESC
于 2013-02-06T01:00:25.873 回答
1

假设类型是兼容的,那么三元条件运算符有什么问题?

SAPCCr = ((r.PRJ_ID == 1) ? r.WONUM : r.JOBDESC );
于 2013-02-06T01:04:21.790 回答
1

您可以链接条件运算符:

SAPCCr = (r.PRJ_ID == 1 || r.PRJ_ID == 2) ?  r.WONUM :  
         r.PRJ_ID == 3 ?  r.JOBDESC : null;
于 2013-02-06T01:27:18.860 回答