WinForms C#向CSV行添加其他数据
我已经创建了两个表单,它们都必须使用csv文件。 我可以注册不同的用户,然后登录配置文件(如果存在)。 我使用StreamWriter添加信息:WinForms C#向CSV行添加其他数据,winforms,csv,stream,Winforms,Csv,Stream,我已经创建了两个表单,它们都必须使用csv文件。 我可以注册不同的用户,然后登录配置文件(如果存在)。 我使用StreamWriter添加信息: using (StreamWriter writer = new StreamWriter(filePath, true)) { writer.WriteLine(username + "," + password); } 然后我阅读了以下信息: using (StreamReader reader =
using (StreamWriter writer = new StreamWriter(filePath, true))
{
writer.WriteLine(username + "," + password);
}
然后我阅读了以下信息:
using (StreamReader reader = new StreamReader(filePath))
{
while (!reader.EndOfStream)
{
string line = reader.ReadLine();
string[] userData = line.Split(',');
usernames.Add(userData[0]);
passwords.Add(userData[1]);
}
}
及
我只需要知道如何添加额外的数据,这样我就可以继续我的项目的其余部分。
如果这个问题已经得到回答,我很抱歉,谢谢您抽出时间。您不能使用
替换
来添加此信息吗?如果您有用户名和密码,只需将其替换为相同的值以及其他信息您可以使用类对象和列表
集合吗?您知道如何重写[object].ToString()
?您是否可以使用其他形式的序列化,或者使用类似CSV的格式?顺便说一句,当您写入文件时:writer.WriteLine(用户名+”,“+密码)
,您可以添加更多字段并以相同的方式写一行。我受CSV格式的限制,我使用列表,我甚至将opeFileDialog.FileName添加到列表中。我尝试了两种不同的方法,一种是上面提到的,在另一个例子中,我得到了一个超出范围的异常。问题是他们向我解释的信息很少。你知道,如果你想添加一笔钱,并且使用逗号作为十进制分隔符,你不能使用逗号作为字段分隔符拆分字符串吗?换句话说,除非用引号或类似的分隔符将字段括起来,否则不能在任何地方使用逗号。所以,也可以考虑你使用的分离器。您可以使用另一个,如管道|
。或者准备好也解析引用的字段。可以!谢谢你的提醒。每当我在“writer.WriteLine(username”,“password”,”)中添加更多内容时,我都必须用“string[]userData=line.Split(,”)将其分隔开;我得到的索引超出了范围/界限。如何替换CSV文件的行?一些示例:
bool isFound = false;
for (int i = 0; i < usernames.Count; i++)
{
if (usernames[i] == username && passwords[i] == password)
{
isFound = true;
}
}
using(StreamWriter writer = new StreamWriter(filePath,true))
{
writer.Write("the username from the register from" + "," + "the password from the register form" + openFileDialog.FileName("the location of the file/What my lector told me to use"));
}