0

リスト内でifチェック条件を実行する方法がわかりません。「ラムダ式」が助けになると思いますが、わかりません

ここに私のコードがあります

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);

ここでやろうとしていることは、r.PRJ.ID値に基づいて結果を返すlinqクエリがあり、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.PRJ_ID == 2) ?  r.WONUM :  
         r.PRJ_ID == 3 ?  r.JOBDESC : null;
于 2013-02-06T01:27:18.860 に答える
1

型に互換性があると仮定すると、三項条件演算子の何が問題になっていますか?

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