Vous ne pouvez pas faire cela, car GetFiles
n'accepte qu'un seul motif de recherche. Au lieu de cela, vous pouvez appeler GetFiles
sans motif, et filtrer les résultats dans le code:
string[] extensions = new[] { ".jpg", ".tiff", ".bmp" };
FileInfo[] files =
dinfo.GetFiles()
.Where(f => extensions.Contains(f.Extension.ToLower()))
.ToArray();
Si vous travaillez avec .NET 4, vous pouvez utiliser la méthode EnumerateFiles
pour éviter de charger tous les objets FileInfo en mémoire à la fois :
string[] extensions = new[] { ".jpg", ".tiff", ".bmp" };
FileInfo[] files =
dinfo.EnumerateFiles()
.Where(f => extensions.Contains(f.Extension.ToLower()))
.ToArray();
Je suppose que vous voulez dire « plus d'une extension » ... il ne fonctionne pas avec deux soit –
yeup ne fonctionne pas pour deux soit – rd42
BTW, savez-vous que GetFiles n'est pas lié à C#, mais seulement lié à .NET? –