我有一个程序,可以检查两个文本文件中的特定字段,然后检查任一文件是否具有指定字段。如果是,则匹配数将存储到另一个列表中。我遇到的问题是,当我知道我有两个匹配项时,它只是将第一个匹配项写入文本文件。我对 C# 相当陌生,因此任何帮助/建议将不胜感激,下面的代码正在执行检查。
while ((lineBeingRead = fileToRead.ReadLine()) != null)
{
if (lineBeingRead.IndexOf(" :22:", 0) == 0)
{
lstTwentyOneCounter.Add(lineBeingRead.Substring(11));
lstStoreTwentyOne = lstTwentyOneCounter;
}
}
下面的代码正在写入文本文件。
foreach (var single103 in lstStore103)
{
foreach (var single101 in lstStore101)
{
if (single101 == single103)
{
checkResults.Add(single103);
System.IO.File.WriteAllText(@"H:\Compare.txt", single103);
break;
}
}
}
谢谢,
瑞安
最佳答案
WriteAllText
将 overwrite现有文件 - 因此只会出现一个条目被写入。
System.IO.File.Delete(@"H:\Compare.txt");
foreach (var single103 in lstStore103)
{
foreach (var single101 in lstStore101)
{
if (single101 == single103)
{
checkResults.Add(single103);
System.IO.File.AppendAllText(@"H:\Compare.txt", single103 + Environment.NewLine);
}
}
}
或者(如果lstStore103
和lstStore101
都没有重复项):
System.IO.File.Delete(@"H:\Compare.txt");
foreach (var value in lstStore103.Intersect(lstStore101))
{
checkResults.Add(value);
System.IO.File.AppendAllText(@"H:\Compare.txt", value + Environment.NewLine);
}
关于c# - 将 List<string> 的内容写入文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46216248/