Грегуар - лучший ответ, потому что он:
- Не использует LINQ (аскер использует VS 2005)
- Не использует лямбда-выражение (снова VS 2005)
Тем не менее, почему бы не сделать вещи (немного) проще для себя, написав функцию для генерации Predicate
для you:
public static Predicate<CategoryMapping> GetIsChildOf(int parentId) {
return delegate(CategoryMapping cm) {
return cm.parentId == parentId;
};
}
Тогда, если у вас есть List<CategoryMapping>
и вы хотите найти все элементы с определенным свойством parentId
, вы можете просто позвонить:
root = list[0];
root.childrenElements = list.FindAll(GetIsChildOf(root.id));