kzen.dev
  • Questions
  • Tags
  • Utilisateurs
Notifications
Récompenses
Inscription
Une fois inscrit, vous serez informé des réponses et des commentaires à vos questions.
Connectez-vous
Si vous avez déjà un compte, connectez-vous pour vérifier les nouvelles notifications.
Il y aura des récompenses pour les questions, réponses et commentaires ajoutés.
Détails
Source
Editer
Sergio Tapia
Sergio Tapia
Question

Comment ajouter une chaîne de caractères à un tableau string[] ? Il n'y a pas de fonction .Add

private string[] ColeccionDeCortes(string Path)
{
    DirectoryInfo X = new DirectoryInfo(Path);
    FileInfo[] listaDeArchivos = X.GetFiles();
    string[] Coleccion;

    foreach (FileInfo FI in listaDeArchivos)
    {
        //Add the FI.Name to the Coleccion[] array, 
    }

    return Coleccion;
}

Je voudrais convertir le FI.Name en une chaîne de caractères et l'ajouter ensuite à mon tableau. Comment puis-je le faire ?

203 2009-09-17T17:38:24+00:00 3
 FishBasketGordo
FishBasketGordo
Question modifiée 13 février 2012 в 5:08
Programmation
arrays
c#
long-filenames
Cette question a 1 réponse en anglais, pour les lire connectez-vous à votre compte.
Solution / Réponse
Saulius Valatka
Saulius Valatka
17 septembre 2009 в 5:40
2009-09-17T17:40:27+00:00
Détails
Source
Editer
#9488083

Vous ne pouvez pas ajouter d'éléments à un tableau, puisqu'il a une longueur fixe. Ce que vous recherchez, c'est une List<string>, qui peut ensuite être transformée en tableau en utilisant list.ToArray().

363
0
Adam Wright
Adam Wright
17 septembre 2009 в 5:39
2009-09-17T17:39:36+00:00
Détails
Source
Editer
#9488082

Utilisation de List from System.Collections.Generic

List<string> myCollection = new List<string>();

…

myCollection.Add(aString);

Ou, en raccourci (en utilisant l'initialisateur de collection) :

List<string> myCollection = new List<string> {aString, bString}

Si vous voulez vraiment un tableau à la fin, utilisez

myCollection.ToArray();

Il est préférable de faire abstraction d'une interface, telle que IEnumerable, et de renvoyer simplement la collection.

Edit : Si vous vous devez utiliser un tableau, vous pouvez le préallouer à la bonne taille (c'est à dire le nombre de FileInfo que vous avez). Ensuite, dans la boucle foreach, maintenez un compteur pour l'index du tableau que vous devez mettre à jour ensuite.

private string[] ColeccionDeCortes(string Path)
{
    DirectoryInfo X = new DirectoryInfo(Path);
    FileInfo[] listaDeArchivos = X.GetFiles();
    string[] Coleccion = new string[listaDeArchivos.Length];
    int i = 0;

    foreach (FileInfo FI in listaDeArchivos)
    {
        Coleccion[i++] = FI.Name;
        //Add the FI.Name to the Coleccion[] array, 
    }

    return Coleccion;
}
Guybrush Threepwood
Guybrush Threepwood
Réponse modifiée 27 septembre 2019 в 10:13
58
0
 xcud
xcud
17 septembre 2009 в 5:46
2009-09-17T17:46:05+00:00
Détails
Source
Editer
#9488084
string[] coleccion = Directory.GetFiles(inputPath)
    .Select(x => new FileInfo(x).Name)
    .ToArray();
 xcud
xcud
Réponse modifiée 13 février 2012 в 5:04
3
0
Ajouter une question
Catégories
Toutes
Technologie
Culture / Loisirs
Vie / Arts
Science
Professionnel
Entreprises
Utilisateurs
Tous
Nouveau
Populaire
1
Ilya Smirnov
Enregistré il y a 6 jours
2
Денис Васьков
Enregistré il y a 1 semaine
3
Dima Patrushev
Enregistré il y a 1 semaine
4
sirojidddin otaboyev
Enregistré il y a 2 semaines
5
Елена Гайдамамакинат
Enregistré il y a 2 semaines
DE
EL
ES
FR
ID
IT
JA
KO
NL
NO
PT
RU
SK
TR
ZH
© kzen.dev 2023
Source
stackoverflow.com
sous licence cc by-sa 3.0 avec l'attribution