2016-11-28 2 views
0

У меня есть списокПрисвоить элемент в список, если СОДЕРЖИТ

public List<OrderLineItemQuestionPrice> QuestionPriceList { get; set; } 

public class OrderLineItemQuestionPrice 
{ 
    public string DisplayName { get; set; } 
    public Price Price { get; set; } 
    public string QuestionCode { get; set; } 
} 

У меня есть еще один список

List<OrderLineItemQuestionPrice> promotionItem; 

, и я хочу, чтобы назначить пункты QuestionPriceList к promotionItem если QuestionCode содержит «Promotion».

List<OrderLineItemQuestionPrice> promotionItem = orderLineItemList.QuestionPriceList.Where(p=>p.QuestionCode.Contains("Promotion")) 
+0

Вы можете добавить определение класса OrderLineItemQuestionPrice? – Mohanraja

+0

Вам нужен AddRange: promotionItem.AddRange (QuestionPriceList); – jdweng

ответ

1

Одна проблема, которую я вижу в том, что вы не вызывая ToList(); в конце. Кроме того, если вы не хотите, чтобы проверить для точной строки Promotion вы должны вызвать ToLower()

List<OrderLineItemQuestionPrice> promotionItem = 
            orderLineItemList.QuestionPriceList 
            .Where(p=>p.QuestionCode.ToLower().Contains("Promotion".ToLower())) 
            .ToList() 
+0

'' Promotion ".ToLower()'? –

+0

@AntP да, если он имеет в своем QuestionCode: я заслуживаю поощрения. Содержит («Продвижение») не найдет его, но Содержит («Продвижение» .ToLower()) найдет его. – mybirthname

+0

'' Promotion ".ToLower() ==" promotion "' :) –

Смежные вопросы