2009-03-06 6 views
0

Essayer d'obtenir ma tête dans Linq à des objets et pour la vie de moi, il me échappe ... Je veux obtenir une liste de tous les produits où le _name commence par J.comment obtenir tous les produits qui commencent par J dans Linq? ps simple

  Product prod; 


      for (int i = 0; i < 10;i++) { 
       prod = new Product(); 
       prod._Name = "J" + i.ToString(); 
       prod._Surname = "F" + i.ToString(); 


      } 

Mise à jour

  Product prod; 
      List<Product> productList = new List<Product>(); 


      for (int i = 0; i < 10;i++) { 
       prod = new Product(); 
       prod._Name = "J" + i.ToString(); 
       prod._Surname = "F" + i.ToString(); 

       productList.Add(prod); 
      } 

      var query = productList.Where(p=> p._Name.StartsWith("J")); 

Merci Jon

Répondre

1

Eh bien, vous n'avez pas donné une collection de quelque nature que dans votre exemple de code, mais supposant que vous avez une collection appelée products vous voulez quelque chose comme:

var query = products.Where(prod => prod._Name.StartsWith("J")); 

Cela donnera un IEnumerable<Product>. Si vous voulez un List<Product> il suffit d'ajouter un appel à ToList() à la fin:

var query = products.Where(prod => prod._Name.StartsWith("J")) 
        .ToList(); 
0

Si vous voulez vous débarrasser de cette erreur, déplacez le Product proc; dans juste votre boucle:

for (int i = 0; i < 10;i++) { 
    Product prod = new Product(); 
    ... 
Questions connexes