Click here to Skip to main content
Click here to Skip to main content

LINQ (Single, SingleOrDefault)

By , 16 Dec 2009
 
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)
	{
                // The single element of the input sequence.
		Person person1 = (from p in people
					where p.Name = name
					select p).Single();
 
                // The single element of the input sequence, or default(TSource) if the sequence contains no elements.
		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,

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Programm3r
Software Developer (Senior) Qmuzik Technologies Pty
South Africa South Africa
Member
I escaped from the mental hospital on 25th June and was captured by a zookeeper. Escaped from the zoo on 15th July and killed the zoo guard in the attempt. So now I just eat bananas and hang out on the Code Project.
 
So you want to surf, and the waves where you live aren't half bad.
And you start to improve ...
And then you hear about this wave in a far-away country, whose name you can't even pronounce. What then?
How far are you willing to go?
What sacrifice are you willing to make? How good do you really want to be?

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
Hint: For improved responsiveness ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
QuestionTitle?memberAdam Robinson15 Dec '09 - 8:48 
AnswerRe: Title?memberProgramm3r16 Dec '09 - 18:32 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web01 | 2.6.130523.1 | Last Updated 17 Dec 2009
Article Copyright 2009 by Programm3r
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid