Оптимальный способ фильтрации вложенного словаря по значению свойства в C#C#

Место общения программистов C#
Anonymous
Оптимальный способ фильтрации вложенного словаря по значению свойства в C#

Сообщение Anonymous »

Я хотел бы знать, есть ли другой способ фильтровать словарь

Код: Выделить всё

public class location
{
public Dictionary Example{ get; set; }
}

public class location
{
public int Id { get; set; }

public string Name{ get; set; }
}

i would like to filter  dictionary where Id  = 3
Мне нужно отфильтровать словарь примеров, в котором свойство Id LocationBO равно 3. В настоящее время я добиваюсь этого с помощью следующего кода:

Код: Выделить всё

var filteredLocations = locations.Select(location =>
{
var filteredDict = location
.Example
.ToDictionary(
outerKey => outerKey.Key,
outerValue => outerValue.Value
.ToDictionary(
middleKey => middleKey.Key,
middleValue => middleValue.Value
.Where(innerEntry => innerEntry.Value.id== 3)
.ToDictionary(innerKey => innerKey.Key, innerValue => innerValue.Value)
)
);
location.Example= filteredDict;

return new Location(location);

})
.ToList();
Есть ли более эффективный и понятный способ фильтровать эту вложенную структуру словаря на основе свойства Id?

Подробнее здесь: https://stackoverflow.com/questions/787 ... in-c-sharp

Вернуться в «C#»