Как сказано в заголовке, можно ли использовать LINQ для удаления элементов из .Items DropDownList, где элемент не равен указанным мной строкам?
Другими словами, у меня есть список строк, если элемент не соответствует ни одной строке в списке, он удаляется.
ПРИМЕЧАНИЕ. Я знаю, как этого добиться, я могу сделать это с помощью цикла foreach. Это нормально, но я хочу знать, есть ли альтернатива LINQ.
РЕДАКТИРОВАТЬ: Я должен сказать - свойство элемента .Text соответствует любому элементу в списке строк.
РЕДАКТИРОВАТЬ: Для тех, кто заинтересован, это был предложенный мной способ foreach:
private void FilterDropDownChoices(List<String> permittedChoices)
{
foreach(ListItem item in ddlChoices.Items)
{
if (!permittedChoices.Contains(item.Text))
{
ddlChoices.Items.Remove(item);
}
}
}
foreach
, который используется для того, чтобы вызывать побочные эффекты (изменять коллекциюItems
). Linq не заменяет это. Linq предназначен для запросов, чего вы не делаете. Дополнительная литература. Лучшее, что вы могли сделать, - это получить набор элементов для удаления через LINQ. Тем не менее, вы все равно захотите иметьforeach
цикл для их удаления. - person Servy   schedule 25.07.2012