J'essaie donc de stocker des variables sur des fichiers texte afin que mon programme puisse les appeler ultérieurement, mais j'ai besoin que les fichiers ont des noms définis et quand j'essaie que cela ne fonctionne jamais correctement.
J'ai essayé de faire boucle dans une boucle de foresach, j'ai essayé tant de choses mais toutes les personnes qui viennent tout simplement vis sur les données variables p> aucun message d'erreur, mais quand j'ouvre le fichier texte, il y a Soit seulement un fichier texte, ou ils ont tous les mêmes mots sur eux, ou ils sont simplement brassés de texte, je continue à attendre qu'il y ait le nom de fichier correct avec le texte correct. p> p>
3 Réponses :
var path = $@"C:\Users\gn193755\Documents\output.txt"); File.AppendAllText(path, line);
J'ai essayé cela avant et ça n'a jamais travaillé mais mal essayez à nouveau
Cela simplifiait beaucoup le code et le problème n'était pas aussi mauvais qu'auparavant, mais cela a toujours des problèmes, il y a mal de bricoler avec cette
Voici ce que je suis venu avec
foreach (chaîne ligne dans lignes) {foreach (string txtname dans les noms) {console.writeline ($ "sauvegarde {txtname}"); troisième chemin = $ @ "c: \ utilisateurs \ gn193755 \ documents \ {txtname} .txt"; Fichier.writetealltext (chemin, ligne); }}
Remplacer fichier.writetealltext (chemin, ligne); code> avec fichier.appendalltext (chemin, ligne); code> et juste le code du fichier sur sortie.txt < / code>
Comme on le voit dans le code, les boucles de forach sont séparées.
string[] lines = { name, FirstBlock, MonIstem, WedIstem, ThridBlock, FourthBlock, "Design Time", SixthBlock, TueIstem, ThurIstem, EighthBlock, NinthBlock, "Design Time", FriIstem };
string[] names = { "name", "FirstBlock", "MonIstem", "WedIstem", "ThirdBlock", "FourthBlock", "Design Time", "SixthBlock", "TueIstem", "ThurIstem", "EightBlock", "NinthBlock", "Design Time", "FriIstem", };
foreach (string TXTname in names)
{
Console.WriteLine($"Saving {TXTname}");
foreach (string line in lines)
{
string getNameOfVar = nameof(line);
using (FileStream bs = File.OpenWrite($@"C:\Users\gn193755\Documents\{TXTname}.txt"))
{
byte[] thing = new UTF8Encoding(true).GetBytes(line);
bs.Write(thing, 0, thing.Length);
}
}
}
Je rencontre le même problème que j'ai rencontré tout le temps, ils ont tous les mêmes données sur eux.
Je suis tellement muet, j'ai fait plus de recherches et j'ai trouvé la chose .zip.
var lines = new [] { name, FirstBlock, MonIstem, WedIstem, ThridBlock, FourthBlock, "Design Time", SixthBlock, TueIstem, ThurIstem, EighthBlock, NinthBlock, "Design Time", FriIstem };
var names = new [] { "name", "FirstBlock", "MonIstem", "WedIstem", "ThirdBlock", "FourthBlock", "Design Time", "SixthBlock", "TueIstem", "ThurIstem", "EightBlock", "NinthBlock", "Design Time", "FriIstem", };
var linesAndnames = lines.Zip(names, (l, n) => new { Line = l, Name = n });
foreach (var ln in linesAndnames)
{
var path = $@"C:\Users\gn193755\Documents\{ln.Name}.txt";
File.WriteAllText(path, ln.Line);
}
}
Où sont les variables dans string [] lignes = {} déclarée? dessus? Quel type sont-ils? sont-ils des objets? Quel format avez-vous besoin de les sauvegarder?
Ce sont des variables de string
Merci d'avoir pris le temps de partager votre problème. Mais le code que vous avez fourni ne peut pas compiler en raison d'erreurs d'écriture. Pour vous aider à améliorer le contenu, le titre et les tags de votre requête, envisagez de lire le Comment puis-je poser une bonne question < / a> i> qui est dans le centre d'aide.
Voir ma réponse sur l'erreur de syntaxe et changer la façon dont vous écrivez les fichiers
L'op utilise txtname hors de la première boucle dans la seconde.