gpt4 book ai didi

c# - 在输入文件中找不到字符串

转载 作者:太空宇宙 更新时间:2023-11-03 19:12:38 26 4
gpt4 key购买 nike

我有一个文本文件,我想在其中插入一行代码。使用我的链接列表,我相信我可以避免必须取出所有数据,对其进行排序,然后将其放入一个新的文本文件中。我所做的是想出下面的代码。我设置了 bool 值,但它仍然不起作用。我检查了调试器,它似乎正在检查整个列表(大约 10,000 行)并且没有发现任何正确的东西,所以它没有插入我的代码。

为什么或这段代码有什么问题?

List<string> lines = new List<string>(File.ReadAllLines("Students.txt"));


using (StreamReader inFile = new StreamReader("Students.txt", true))
{
string newLastName = "'Constant";
string newRecord = "(LIST (LIST 'Constant 'Malachi 'D ) '1234567890 'mdcant@mail.usi.edu 4.000000 )";
string line;
string lastName;
bool insertionPointFound = false;
for (int i = 0; i < lines.Count && !insertionPointFound; i++)
{
line = lines[i];
if (line.StartsWith("(LIST (LIST "))
{
values = line.Split(" ".ToCharArray());
lastName = values[2];
if (newLastName.CompareTo(lastName) < 0)
{
lines.Insert(i, newRecord);
insertionPointFound = true;
}
}
}
if (!insertionPointFound)
{
lines.Add(newRecord);
}

最佳答案

您只是将文件读入内存,而不是将其提交到任何地方。

恐怕您将不得不加载并完全重写整个文件。文件支持追加,但不支持插入。

你可以像读取文件一样写入文件

string[] lines;
/// instanciate and build `lines`
File.WriteAllLines("path", lines);

WriteAllLines 也接受一个 IEnumerable,因此您可以根据需要将字符串的 List 传递到那里。


还有一个问题:您似乎正在阅读您的文件两次。一个使用 ReadAllLines,另一个使用 StreamReader

关于c# - 在输入文件中找不到字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19505117/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com