我如何编辑数字在我的.txt文件
本文关键字:数字 我的 txt 文件 编辑 何编辑 | 更新日期: 2023-09-27 17:53:14
我在这里有代码,基于用户输入,我想改变我将选择的选择行。但是,我目前只能临时更改文本行,当我再次写入文件时,文本没有被永久覆盖。
下面是我的代码:
public struct classMates
{
public string first;
public string last;
public int ID;
}
static classMates[] readClassMates(classMates[] classMateInfo)
{
StreamReader sr = new StreamReader(@"C:'class.txt");
int count = 0;
while (!sr.EndOfStream)
{
classMateInfo[count].first = sr.ReadLine();
classMateInfo[count].last = sr.ReadLine();
string idTemp = sr.ReadLine();
classMateInfo[count].ID = Convert.ToInt32(idTemp);
count++;
}
sr.Close();
return classMateInfo;
}
static void editClassMates(classMates[] classMateInfo)
{
Console.Write("Who's number would you like to change? ");
string classMateInput = Console.ReadLine();
for (int i = 0; i < classMateInfo.Length; i++)
{
if (classMateInfo[i].first.Equals(classMateInput))
{
Console.Write("Enter new number: ");
string temp = Console.ReadLine();
int classMateNumber = Convert.ToInt32(temp);
classMateInfo[i].ID = classMateNumber;
Console.WriteLine("You have successfully changed {0}'s number to {1}.", classMateInfo[i].first,classMateInfo[i].ID.ToString());
}
}
}
static void Main()
{
classMates[] classMateInfo = new classMates[43];
listClassMates(classMateInfo);
editClassMates(classMateInfo);
listClassMates(classMateInfo);
}
我知道我要使用File.WriteAllText()
,但是我不知道如何在我的代码中使用这个片段
也许你期待一个简单的答案,但你实际上需要自定义代码,你需要自己思考。如果你对LINQ感兴趣并且真的想使用File.WriteAllText()
方法,你可以使用我为你写的这个在线程序,我还没有测试过:
File.WriteAllText(@"C:'class.txt", string.Join(Environment.NewLine, (from cm in classMateInfo select string.Format("{1}{0}{2}{0}{3}", Environment.NewLine, cm.first, cm.last, cm.ID)).ToArray()));
从classMateInfo创建一个字符串数组,使用换行符作为分隔符连接数组,并将整个字符串写入指定的文件。
我没看到你往文件里写东西。
Console.Write("Enter new number: ");
string temp = Console.ReadLine();
int classMateNumber = Convert.ToInt32(temp);
classMateInfo[i].ID = classMateNumber;
Console.WriteLine("You have successfully changed {0}'s number to {1}.", classMateInfo[i].first,classMateInfo[i].ID.ToString());
我应该期望你做这样的事情:
rs.Writeline('foo');
但是也许你需要一个流写器。