2016-02-16 3 views
0

У меня есть класс:Как создать список из списка в C#?

class person{ 
      string first_name; 
      string middle_name; 
      string last_name; 
      string adress; 
      string phone; 
      } 

и у меня есть список класса человека:

List<person> person_list= new List<person>(); 

Я хотел бы создать список вложенную человека содержит только первый, среднюю и фамилию.

Я пробовал:

var sub_list = (from item in person_list 
       select new {item.first_name , 
          item.middle_name , 
          item.last_name}); 

и это работа. Но я не хочу типа «var», потому что я не могу передать sub_list другой функции. как я могу поместить тип вместо var?

+7

Ну вы можете написать свой собственный класс, который содержит только те свойства ... (Кстати, сейчас было бы хорошее время, чтобы посмотреть и присоединиться соглашения об именах .NET.) –

+2

создать новый класс с этими свойствами –

+0

Я думаю, что этот вопрос показывает блокировку понимания 'var'. 'var' не является типом. Переменная, инициализированная с помощью «var», все еще получает определенный тип и все равно может передаваться от одной функции к другой, тогда как вы сказали, что не хотите «var», потому что тогда вы не можете передать ее другой функции. –

ответ

3

Создать модель представления для человека:

class PersonVM 
{ 
    string first_name; 
    string middle_name; 
    string last_name; 
} 

IEnumerable<PersonVM> sub_list = from item in person_list 
        select new PersonVM { 
         first_name = item.first_name , 
         middle_name = item.middle_name, 
         last_name = item.last_name 
        }; 
+0

Ровно !! Огромное спасибо. – Khorshid

Смежные вопросы