J'ai essayé de refléter l'écran de sortie au fichier .txt. Par mon code ci-dessous je peux capable de refléter l'écran de sortie au fichier texte. Lors de l'exécution du obj.OutputFile("First text");
il n'y a pas de problème mais quelques fois j'ai besoin imprimer comme obj.OutputFile("Second text {0}",text);
Comment passer ce paramètre?
Je suis l'exception au cours de la deuxième ligne d'exécution
Aucune surcharge pour la méthode « OutputFile » prend document de test 2 arguments
Comment effacer mon exception?
Je veux mon code qui doit être accepter un nombre différent d'arguments passant.
Mon code
class Program
{
static void Main(string[] args)
{
string text = "Sample";
Program obj = new Program();
obj.OutputFile("First text");
obj.OutputFile("Second text {0}",text);
Console.ReadKey();
}
public void OutputFile(string text)
{
string path = "Example.txt";
if (!File.Exists(path))
{
using (TextWriter tw = new StreamWriter(path))
{
tw.WriteLine(text);
Console.WriteLine(text);
}
}
else if (File.Exists(path))
{
using (TextWriter tw = new StreamWriter(path,true))
{
tw.WriteLine(text);
Console.WriteLine(text);
}
}
}
}
Je suis tout à fait nouveau à cette C#. J'espère que votre réponse sera simple.
obj.OutputFile (string.Format ("Deuxième texte {0}", texte)); – ColinM
Votre méthode OutputFile attend 1 paramètre. Vous lui avez donné 2 (séparés par des virgules) et le compilateur est confus. – byxor
Totalement sans rapport avec votre problème, vous pouvez éviter le bloc if/else if en notant que lorsque 'File.Exists' est vrai, vous donnez' true' comme second argument de 'Streamwriter' ctor sinon (quand' File.Exists' est false) vous ne donnez rien (donc vous appelez indirectement le ctor 'Streamwriter' pour lequel ce second argument est' false') – Sehnsucht