In c#, Given the following code:
public class Person
{
public int PersonID { get; set; }
public int Age { get; set; }
public string Name { get; set; }
}
and
List<Person> people = new List<Person>();
for (int i = 0; i != 15; i++)
{
Person p = new Person();
p.PersonID = i;
p.Age = i * 12;
p.Name = "Name " + i;
people.Add(p);
}
var sortedPeople = from qPeople in people
where qPeople.Age > 0 && qPeople.Age < 25 || qPeople.Age > 100
orderby qPeople.Age descending
select qPeople;
Can I load the results of sortedPeople back into a List<Person> without a loop?
Thanks.
Yes. There is a .ToList() extension method available, so all you would need to do is make a call to it like this.
var sortedPeople = (from qPeople in people
where qPeople.Age > 0 && qPeople.Age < 25 || qPeople.Age > 100
orderby qPeople.Age descending
select qPeople).ToList();
Now sortedPeople will be a List<Person>
instead of an IOrderedEnumerable<Person>
You can use
sortedPeople.ToList()
Enumerable.ToList Method
Creates a List from an IEnumerable.
var sortedPeople = (from qPeople in people
where qPeople.Age > 0 && qPeople.Age < 25 || qPeople.Age > 100
orderby qPeople.Age descending
select qPeople).ToList();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With