filtrer un tableau en C#

j'ai un tableau d'objets (Car [] par exemple) et il y a une propriété IsAvailable sur l'objet

Je veux utiliser le tableau complet (où IsAvailable est vrai pour certains éléments et faux pour d'autres) comme entrée et renvoyer un nouveau tableau qui inclut uniquement les éléments qui ont IsAvailable = true.


Solution du problème

Si vous utilisez C# 3.0 ou supérieur...

using System.Linq;
public Car[] Filter(Car[] input)
{
return input.Where(c => c.IsAvailable).ToArray();
}

Et si vous n'avez pas accès à LINQ (vous utilisez une ancienne version de.NET)...

public Car[] Filter(Car[] input)
{
List<Car> availableCars = new List<Car>();
foreach(Car c in input)
{
if(c.IsAvailable)
availableCars.Add(c);
}
return availableCars.ToArray();
}

Commentaires

Posts les plus consultés de ce blog

Erreur Symfony : "Une exception a été levée lors du rendu d'un modèle"

Détecter les appuis sur les touches fléchées en JavaScript

Une chaîne vide donne "Des erreurs ont été détectées dans les arguments de la ligne de commande, veuillez vous assurer que tous les arguments sont correctement définis"