// функция получает последовательность полей m_x из списка.
private static IEnumerable<int> FilterField(List<X> lst) {
foreach(X x in lst)
yield return x.m_x;
}
C# 2.0 Передача в качестве списка полей объектов из списка.
static void F(List<int> list)
{...}
class X
{
public int m_x;
}
Допустим объекты класса Х хранятся в списке List<X> xList
мне нужно в F передать список из полей m_x объектов класса Х из xList
Простое копирование в новый список кажется не очень удачной идеей.
Что тут лучше всего сделать?
(просто часто обнаруживаю в С# такие возможности о которых не знал, может это как раз этот случай?)
Цитата: Ordos
мне нужно в F передать список из полей m_x объектов класса Х из xList
Простое копирование в новый список кажется не очень удачной идеей.
Что тут лучше всего сделать?
Простое копирование в новый список кажется не очень удачной идеей.
Что тут лучше всего сделать?
Если вам нужно просто извлечь поле из объектов списка можно поступить так:
Код:
в C#3.0 есть альтернативное решение:
Код:
var fields = from x in lst select x.m_x;