I sometimes get asked how to get a single object from a generic list based on a LINQ query. i.e. Performing a LINQ query on a generic collection and then returning only the single instance without looping through the collection. Well this is how I do it:
public class Person
{
public string Name{get;set;}
public string Surname{get;set;}
public int Age{get;set;}
}
public class Example
{
List<Person> people = new List<Person>();
public Example()
{
people.Add(new Person()
{
Name = "Joe",
Surname = "Smith",
Age = 35
});
people.Add(new Person()
{
Name = "John",
Surname = "Doe",
Age = 24
});
people.Add(new Person()
{
Name = "Jane",
Surname = "Doe",
Age = 48
});
}
public Person GetSinglePersonFromList(string name)
{
Person person1 = (from p in people
where p.Name = name
select p).Single();
Person person2 = (from p in people
where p.Name = name
select p).SingleOrDefault();
return person1;
}
}
This is something very small, but think that it might help.
Kind regards,