2012-06-08 4 views
0

voici ma listeméthode Rechercher dans la liste

public string state { get; set; } 
public string city { get; set; } 
public Point p1 { get; set; } 
public Point p2 { get; set; } 
public List<Explorer> line = new List<Explorer>(); 
public List<Explorer> rectangle = new List<Explorer>(); 
public List<Explorer> ellipse = new List<Explorer>(); 

ceci est mon ajout d'éléments à la liste Code

line.Add(new Explorer 
      { 
       state = "AAAA", 
       city = "BBB", 
       p1 = start, 
       p2 = end 
      }); 

correspondant aux valeurs de l'Etat et de la ville que j'ai besoin de trouver les points de leur emplacement .

+0

S'il vous plaît expliquer votre problème. Est-ce que ce sont des membres de la classe? –

+0

Oui, ce sont des membres de la classe. Le nom de la classe est Explorer – DjMalaikallan

+0

Qu'est-ce qui doit être atteint? pas clair ? Peux-tu élaborer? –

Répondre

1

Vous pouvez utiliser LINQ pour filtrer votre liste/récupérer l'élément que vous voulez:

en utilisant Where

line.Where(e => e.state == "AAAA" && e.city == "BBB") 

utilisant Single/SingleOrDefault/First/FirstOrDefault

line.SingleOrDefault(e => e.state == "AAAA" && e.city == "BBB") 

Si vous ne souhaitez que des points, vous pouvez utiliser une projection Select

var points = line.Where(e => e.state == "AAAA" && e.city == "BBB") 
        .Select(e=>Tuple.Create(e.p1, e.p2)) 
        .Single(); 
+0

Eh bien, fixe ... – DjMalaikallan

1

Pouvez-vous essayer

line.Where(l=>l.state == "whatever" && l.city == "whatever"). 
     Select(p=> new() { point1 = p.p1, point2 = p.p2 }).ToList() 
0

Si vous avez Liste des classes Explorer comme suit,

List<Explorer> myList; 

var result = myList.SingleOrDefault(d=> d.state="somthing" && d.city="Soemthing"); 

// access result.points here. 
Questions connexes