Является ли _values
List<LookupValue>
пустым для начала?Если это так, этот внешний вид может выглядеть следующим образом:
_values = (from x in _systemData
from y in _institutionData
let item = x.LookupValue == y.OriginalSystemLookupValue ? x : y
select new LookupValue { DisplayText = item.LookupText,
Value = item.LookupValue })
.ToList();
Это предполагает, что _systemItem
и _institutionItem
относятся к одному типу.Если они не связаны между собой, вы можете дать им общий интерфейс, который определяет LookupText
и LookupValue
(или даже метод ToLookupValue
), а затем привести один из операндов в условном операторе к интерфейсу.Например:
_values = (from x in _systemData
from y in _institutionData
let item = x.LookupValue == y.OriginalSystemLookupValue
? (ILookupSource) x : y
select item.ToLookupValue())
.ToList();