条件传递列表中的参数

时间:2013-02-06 00:55:57

标签: c#

我不知道如何在我的列表中查看if条件,我相信“Lambda Expressions”我的帮助但不知道

这是我的代码

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

先谢谢

3 个答案:

答案 0 :(得分:2)

我认为您正在寻找conditional operator

SAPCCr = r.PRJ_ID == 1 ? r.WONUM :r.JOBDESC

答案 1 :(得分:1)

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

SAPCCr = ((r.PRJ_ID == 1) ? r.WONUM : r.JOBDESC );

答案 2 :(得分:1)

您可以链接条件运算符:

SAPCCr = (r.PRJ_ID == 1 || r.PRJ_ID == 2) ?  r.WONUM :  
         r.PRJ_ID == 3 ?  r.JOBDESC : null;