Ich brauche StreamWriter
zu schreiben/speichern Informationen, die der Benutzer eingeben. Ich habe das funktioniert mit dem Code unten.C# StreamWriter kann nicht implizit Typ in Zeichenfolge in SYSTEMS.IO konvertieren
Ich muss jetzt machen es eine Datei mit dem Vornamen des Benutzers schreiben, und speichern Sie die Informationen dort.
ausblenden Code kopieren erweitern
case 2: //enter new user
//Enter new user information and add them to file
Console.Write("Please Enter the number of users you wish to log: ");
iUserNumber = Convert.ToInt32(Console.ReadLine());
//open file for writing, in APPEND mode
using (StreamWriter sw = new StreamWriter("NewUser" +sName,".txt", true))
{
//loop for each user
for (iCount = 1; iCount <= iUserNumber; iCount++)
{
// enter details
Console.Write("Please Enter your Name" + iCount + ": ");
sName = Console.ReadLine();
Console.Write("Please Enter the Name of your School: ");
sSchoolName = Console.ReadLine();
Console.WriteLine();
Console.Write("Please Enter the Name of your Class: ");
sClassName = Console.ReadLine();
// write to file
sw.WriteLine(sName);
Console.WriteLine();
sw.WriteLine(sSchoolName);
Console.WriteLine();
sw.WriteLine(sClassName);
Console.WriteLine("User data entered: ");
}
}
Ich kann nicht scheinen, dies mit diesen Fehlern kommen, zu arbeiten und halten:
Argument 1: kann nicht von ‚string‘ zu konvertieren 'System.IO.Stream' FUNCOCO2
Fehler CS0165 Verwendung von nicht zugewiesenen lokalen variablen 'sName' FUNCOCO2
Fehler CS1503 Argument 2: kann nicht von 'string' zu konvertieren 'System.Text.Encoding'
Ich bin nicht sicher, wie dies zu beheben.
Ich änderte es dazu:
case 2: //enter new user
//Enter new user information and add them to file
Console.Write("Please Enter the number of users you wish to log: ");
iUserNumber = Convert.ToInt32(Console.ReadLine());
//enter first name
Console.WriteLine("Please enter your first Name: ");
sFirstName = Convert.ToString(Console.ReadLine());
//open file for writing, in APPEND mode
using (StreamWriter sw = new StreamWriter(sName))
{
//loop for each user
for (iCount = 1; iCount <= iUserNumber; iCount++)
{
// enter details
Console.Write("Please Enter your Name" + iCount + ": ");
sLastName = Console.ReadLine();
Console.Write("Please Enter the Name of your School: ");
sSchoolName = Console.ReadLine();
Console.WriteLine();
Console.Write("Please Enter the Name of your Class: ");
sClassName = Console.ReadLine();
// write to file
sw.WriteLine(sName);
Console.WriteLine();
sw.WriteLine(sSchoolName);
Console.WriteLine();
sw.WriteLine(sClassName);
Console.WriteLine("User data entered: ");
}
}
Und das scheint nicht zu funktionieren.
'Und das scheint nicht either.' zu arbeiten <= bitte auch die Fehlermeldungen wie Sie mit Ihrem ersten Versuch gemacht haben. – Igor
Es klingt, als ob Sie für jeden Benutzer eine neue Datei erstellen möchten, aber Sie öffnen die Datei nur einmal - außerhalb der Schleife. In Ihrem ursprünglichen "Versuch" verwendeten Sie irrtümlicherweise auch ein Komma anstelle einer String-Verkettung in 'new StreamWriter (" NewUser "+ sName,". Txt ", true)'. Da es für den Konstruktor keine solche Überladung gibt, erhalten Sie einige verwirrende Fehler. – Luaan