Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.10.2011, 10:18   #1
KobolD
Форумчанин
 
Регистрация: 10.06.2010
Сообщений: 239
По умолчанию Получить массив значений полей из массива класса

у меня есть класс
Код:
    class Man
    {
        int age;
        string name;
        Man(int age, string name)
        {
            this.age = age;
            this.name = name;
        }
        public int Age{get{return age;}}
        public string Name { get { return name; } }
    }
есть функция которая создает массив элементов класса и заполняет его.
А потом получает массив определенного поля класса
Код:
        void proc()
        {
        Man[] Mans = new Man[10];
        //Здесь код который заполняет массив данными
        //....

            //Вот тут создаю массив который мне надо
        int[] Ages = new int[Mans.Length];
        for (int i = 0; i < Mans.Length; i++)
            Ages[i] = Mans[i].Age;
        }
Есть ли функция которая сама "выдергивает" все значения определеного поля, чтобы писать напрмер вот так.
Код:
int[] Ages = Mans.Age();
Чтобы слова не расходились с делом, нужно молчать и ничего не делать.
KobolD вне форума Ответить с цитированием
Старый 20.10.2011, 11:00   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

var Ages = Mans.Select(p => p.Age);
Rififi вне форума Ответить с цитированием
Старый 20.10.2011, 11:42   #3
KobolD
Форумчанин
 
Регистрация: 10.06.2010
Сообщений: 239
По умолчанию

Rififi
Спасибо, то что надо.
А где бы про эту функцию почитать поподробнее? сылочкй не поделитесь.
Чтобы слова не расходились с делом, нужно молчать и ничего не делать.
KobolD вне форума Ответить с цитированием
Старый 20.10.2011, 13:22   #4
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

KobolD

А где бы про эту функцию почитать поподробнее? сылочкй не поделитесь.

Это базовые возможности контейнерного интерфейса IEnumerable<>, к которому приводятся массивы, списки etc

также много полезного можно почерпнуть на тему "c# linq"
кроме того, у Орейлли есть книга Linq in Action
Rififi вне форума Ответить с цитированием
Старый 20.10.2011, 13:31   #5
m0nax
Форумчанин
 
Аватар для m0nax
 
Регистрация: 25.09.2009
Сообщений: 525
По умолчанию

это методы расширения, кроме прочего используются в LINQ
доступны начиная с net 3.5
конкретно про select http://msdn.microsoft.com/en-us/library/bb548891.aspx
А вообще это очень объемная тема, там таких функций вагон и маленькая тележка, в целом же мощнейшая технология
m0nax вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вывод полей класса после сравнения С++ zhenya.ya Помощь студентам 3 24.05.2011 14:22
Из одномерного массива(вектора) по доп.массиву разрешенных значений получить массив неразрешенных(Паскаль Марьянка Помощь студентам 8 01.04.2011 09:09
копирование всех полей класса Juffin Общие вопросы Delphi 1 19.05.2009 19:16
Сохранение значений вычисляемых полей gimbomba БД в Delphi 6 21.02.2009 19:19
предстваление с суммой значений полей таблицы Geddar SQL, базы данных 1 10.06.2008 19:30