Использование Linq для выбора свойств класса для возврата IEnumerable <T>

Если у меня есть SortedList<int, MyClass>, и я хочу вернуть новый IEnumerable<T> свойств этого класса, как это сделать?

Я пробовал SortedList.Select(x=>x.MyProperty, x.AnotherProperty), но он не работает.

Спасибо.

Ответ 1

Вы можете вернуть анонимный объект:

var result = SortedList.Select(x => new { 
    x.Value.MyProperty, 
    x.Value.AnotherProperty 
});

Или, если вы хотите использовать результат вне области текущего метода, вы можете определить нестандартный тип:

IEnumerable<MyType> result = SortedList.Select(x => new MyType { 
    Prop1 = x.Value.MyProperty, 
    Prop2 = x.Value.AnotherProperty 
});