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

Comment signer la connexion OKEx API version 5 avec websockets ?

Comment convertir une interface{} qui est vraiment une tranche de types dont le genre est reflect.Int32 en tranche de int32 ?

Créer un fichier CSV à partir d'un fichier texte avec des jetons d'en-tête à l'aide de scripts shell