我需要使用StreamWriter
到写入/存储用户正在输入的信息。我已经得到了以下代码的工作。C#StreamWriter不能隐式地将类型转换为字符串到SYSTEMS.IO
我现在需要让它用用户的名字写一个文件,并将信息存储在那里。
隐藏展开复制代码
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: ");
}
}
我似乎无法得到这个工作,并保持未来与这些错误:
参数1:无法从“字符串”转换为 'System.IO.Stream' FUNCOCO2
未分配的局部变量 'SNAME' FUNCOCO2的错误CS0165使用
错误CS1503参数2:无法从“字符串”转换为 “System.Text.Encoding”
我不知道如何解决这个问题。
我改成了这样:
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: ");
}
}
这似乎没有任何工作。
'这似乎并没有工作either.' <=请还包括错误消息就像你与你的第一次尝试做。 – Igor
听起来好像你想为每个用户创建一个新文件,但是你只打开一次文件 - 在循环之外。在你原来的“尝试”中,你也错误地在'new StreamWriter(“NewUser”+ sName,“。txt”,true)'中使用了逗号而不是字符串连接。由于构造函数没有这样的重载,所以会出现一些令人困惑的错误。 – Luaan