Member 9956700 Ответов: 1

Как использовать операторы(если еще) в лямбда-выражении


CurrentFinancialMovementData movementData = keys.OrderByDescending(s => s.LatestReserveDate ?? s.LatestRecoveryReserveDate).ThenByDescending(x => x.ReserveDaySequence).First();

CurrentFinancialMovementData movementDataReserve = keys.Where(s => s.AmountType == (short)StaticValues.AmountType.Reserve).OrderByDescending(a => a.LatestReserveDate).ThenByDescending(x => x.ReserveDaySequence).FirstOrDefault();

CurrentFinancialMovementData movementDataRecoveryReserve = keys.Where(s => s.AmountType == (short)StaticValues.AmountType.RecoveryReserve).OrderByDescending(a => a.LatestRecoveryReserveDate).ThenByDescending(x => x.ReserveDaySequence).FirstOrDefault();


Я хочу проверить, если мой movementData AmountType.Reserve, то он должен принимать LatestReserveDate, а если мой movementData-AmountType.RecoveryReserve, то он должен принимать LatestRecoveryReserveDate. Я хочу разобраться с этой ситуацией в movementData. Может ли кто - нибудь помочь мне в этом ?

Что я уже пробовал:

Я пытался:
если (ключи.Любые(s => s.AmountType == (короткие)статические значения.AmountType.Резерв))
{ CurrentFinancialMovementData movementData = ключи.OrderByDescending(s => s.LatestReserveDate).ThenByDescending(x => x.ReserveDaySequence).Первый();
}
еще если (ключи.Любые(s => s.AmountType == (короткие)статические значения.AmountType.RecoveryReserve))
{ CurrentFinancialMovementData movementData = ключи.OrderByDescending(s => s.LatestRecoveryReserveDate).ThenByDescending(x => x.ReserveDaySequence).Первый();
}

1 Ответов

Рейтинг:
0

#realJSOP

Я хотел сделать это таким образом:

CurrentFinancialMovementData movementData = null;
{
    CurrentFinancialMovementData movement1 = keys.OrderByDescending(s => s.LatestReserveDate)
                                                 .ThenByDescending(x => x.ReserveDaySequence)
                                                 .FirstOrDefault(x=>x.AmountType == StaticValues.AmountType.Reserve);
    CurrentFinancialMovementData movement2 = keys.OrderByDescending(s => s.LatestRecoveryReserveDate)
                                                 .ThenByDescending(x => x.ReserveDaySequence)
                                                 .FirstOrDefault(x=>x.AmountType == StaticValues.AmountType.RecoveryReserve);
    movementData = (movement == null) ? movement2 : movement;
}

// caveat - there's still a chance that movementData could be null, but it's 
// handled gracefully in the process of determining that fact, and what you 
// do with that info is up to you.


Maciej Los

5ed!

Member 9956700

movementData = (movementData == null) ? movementData2 : movementData;

Что такое movementData2? там, где мне нужно это определить.

#realJSOP

Ой, починил его.