Sélectionnez à partir d'une Liste<T>

Je suis sûr qu'il ya une wasy façon de le faire (je suppose que l'une des méthodes d'extension?), mais je suis mal à le trouver avec Google.

Fondamentalement, j'ai une Liste de classes personnalisées; je veux sélectionner certains éléments de cette dans une nouvelle Liste où l'une des propriétés est égale à une valeur dans une autre Liste.

Voici un (simplifié) un exemple de ce que je suis en train de faire:

public class Job
    {
        public int Number;
        public string ClientCompanyName;            
    }

List<Job> lstJobs = new List<Job>();
List<Job> lstCompare = new List<Job>();

normalement, je devrais faire quelque chose comme:

List<Job> lstFiltered = new List<Job>();
foreach(Job jobThis in lstCompare)
{
    foreach(jobComp in lstCompare)
    {
        if(jobThis.Number = jobComp.Number)
        {
            lstFiltered.Add(jobThis);
        }
    }
}

Est là une méthode d'extension qui neatens de ce dernier en (idéalement) une seule ligne?

Acclamations

OriginalL'auteur Jez Clark | 2011-04-06