311 votes

C#, obtention de noms de fichier sans extension

Lors de l’obtention des noms de fichiers dans un dossier de certains :

par on obtient un nom de fichier avec son extension : , ,

Quelle meilleure façon d’obtenir les noms de fichiers sans extensions de fichier , , `` ?

536voto

Rup Points 17863

Vous pouvez utiliser `` :

Même si je suis surpris il n’ya pas un moyen de faire cela directement à partir de la `` (ou du moins je ne le vois pas).

51voto

Marcel Gheorghita Points 945

Utilisation `` .

23voto

Erno de Weerd Points 30391

Je n’aime pas DirectoryInfo, FileInfo et la virgule de fin donc :

11voto

Pradeep Points 2647

Utilisation `` . Chemin d’accès est dans l’espace de noms System.IO.

7voto

Joel Etherton Points 24155

Comme une réponse supplémentaire (ou de composés sur la les réponses existantes), vous pourriez écrire une extension de la méthode pour accomplir cela pour vous à l'intérieur de la classe DirectoryInfo. Voici un exemple que j'ai écrit assez rapidement que pourrait être agrémentée de fournir les noms de répertoires ou d'autres critères pour la modification, etc:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;

namespace DocumentDistributor.Library
{
    public static class myExtensions
    {
        public static string[] GetFileNamesWithoutFileExtensions(this DirectoryInfo di)
        {
            FileInfo[] fi = di.GetFiles();
            List<string> returnValue = new List<string>();

            for (int i = 0; i < fi.Length; i++)
            {
                returnValue.Add(Path.GetFileNameWithoutExtension(fi[i].FullName)); 
            }

            return returnValue.ToArray<string>();
         }
    }
}

Edit: je pense aussi que cette méthode pourrait probablement être simplifié ou super-identifiés utilisation de LINQ pour parvenir à la construction de la matrice, mais je n'ai pas l'expérience dans LINQ de le faire assez rapidement pour un exemple de ce type.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X