Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting list of values out of list of objects

Tags:

c#

linq

I have a simple class:

 private class Category     {         public int Id { get; set; }         public string Value { get; set; }     }   

an also a list of objects of this type:

 List<Category> Categories; 

I need to get a list of Ids that are in Categories list. Is there a simpler way to do this than using for loop like this:

 List<int> list = new List<int>();     for (int i = 0; i < Categories.Count; i++)     {         list.Add(Categories[i].Id);     } 

Thanks in advance.

like image 703
Anthony Avatar asked Sep 20 '13 05:09

Anthony


2 Answers

This expression gives you the list you want:

    Categories.Select(c => c.Id).ToList(); 

Also, don't forget

    using System.Linq; 
like image 182
Display Name Avatar answered Sep 28 '22 21:09

Display Name


Use as follows.

Categories.Select(c => c.Id).ToList(); 

||

List<int> list = new List<int>(); foreach (Category item in Categories) {     list.Add(item.Id); }   
like image 42
Thilina H Avatar answered Sep 28 '22 19:09

Thilina H