Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

C# 2.0 Передача в качестве списка полей объектов из списка.

6.6K
28 марта 2008 года
Ordos
105 / / 02.11.2007
Допустим есть метод, получающий список, и класс

static void F(List<int> list)
{...}

class X
{
public int m_x;
}

Допустим объекты класса Х хранятся в списке List<X> xList

мне нужно в F передать список из полей m_x объектов класса Х из xList
Простое копирование в новый список кажется не очень удачной идеей.
Что тут лучше всего сделать?
(просто часто обнаруживаю в С# такие возможности о которых не знал, может это как раз этот случай?)
5
28 марта 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: Ordos
мне нужно в F передать список из полей m_x объектов класса Х из xList
Простое копирование в новый список кажется не очень удачной идеей.
Что тут лучше всего сделать?


Если вам нужно просто извлечь поле из объектов списка можно поступить так:

 
Код:
// функция получает последовательность полей m_x из списка.
private static IEnumerable<int> FilterField(List<X> lst) {
    foreach(X x in lst)
        yield return x.m_x;
}

в C#3.0 есть альтернативное решение:
 
Код:
var fields = from x in lst select x.m_x;
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог