Я хочу использовать LINQ для поиска группы объектов данных в списке. В настоящее время я просматриваю коллекции, чтобы найти то, что мне нужно.Использование LINQ в списке
Я искал и читал множество примеров в Интернете, но я не могу иметь достаточного смысла, чтобы делать то, что мне нужно.
Объект данных, который я хочу найти, называется «Свойством» в моем коде. Свойство имеет общий список «Атрибут». Атрибут имеет общий список строк, который имеет два элемента, имя и значение.
данных в списке:
Property_Data
{
Attribute {name="Color" value=""}
Attribute {name="Size" value=""}
Attribute {name="Width" value=""}
Attribute {name="Display" value=""}
}
Пример свойства с заселена атрибутов
My_Property
Color = black
Size = 12
Width = 2
Display = True
Вот код я использую, когда я итерацию каждый объект недвижимости, то я перебирать каждый элемент в коллекции Атрибуты, которые ищут атрибут с именем «Display» и значением «True».
foreach (IPropertyData prop_data in Properties)
{
if (prop_data.Attributes.Find(a => a.Name == "Display").Value == "True")
{
// do something here
}
}
То, что я хочу, чтобы узнать, как искать сбор данных свойств объектов вещь с помощью LINQ, так что я не должен повторять каждое свойство и затем атрибуты объекта.
Вот моя попытка на него:
IEnumerable<IPropertyData> prop_datas = Properties
.Where(p => p.Attributes.Where(a => a.Name == "isDisplayable" && a.Value == "True");
То, что было после, было способом поиска в коллекции свойств, а не в каждом объекте данных свойств. Я обновил свой вопрос, чтобы включить мою попытку LINQ. Обратите внимание, что я ищу объект «Свойства», а не итерирование каждого свойства. –
Проверьте два обновления, которые я сделал. – dotnetstep
У Jon Skeet есть куча сообщений в блоге, которые называются edulinq, что отлично подходит для того, чтобы действительно увидеть, как работает LINQ. http://codeblog.jonskeet.uk/category/edulinq/. Стоит изучить все эти методы, чтобы они были второй натурой. –