C# 读一个文本文件。如何避免再次阅读
我是编程新手,在调用方法时遇到问题。C# 读一个文本文件。如何避免再次阅读,c#,readline,C#,Readline,我是编程新手,在调用方法时遇到问题。 我在第一种方法中读取一个文本文件,并将每一行保存在一个列表中。方法的返回类型是List,这样我就可以在其他方法中使用文本文件的任何特定行。但问题是,每当我调用第一个方法时,我必须反复阅读文本文件。我必须调用该方法100多次,文本文件的长度超过1000行 public static List<double> readLine(int line) { //read a text file and save in readList r
我在第一种方法中读取一个文本文件,并将每一行保存在一个列表中。方法的返回类型是List,这样我就可以在其他方法中使用文本文件的任何特定行。但问题是,每当我调用第一个方法时,我必须反复阅读文本文件。我必须调用该方法100多次,文本文件的长度超过1000行
public static List<double> readLine(int line)
{
//read a text file and save in readList
return readList[line];
}
public static double useList()
{
readLine(1);
readLine(2);
readLine(3);
readLine(4);
return 0;
}
公共静态列表读取行(int行)
{
//读取文本文件并保存在readList中
返回readList[行];
}
公共静态双重使用列表()
{
读线(1);
读线(2);
读线(3);
读线(4);
返回0;
}
正如我在评论中所说,只需将整个文件读取一次,然后使用(将输出转换为列表)将其保存到列表中即可。一旦你有了它,你就可以直接使用列表
,而不必每次都回去读文件。见下文
public class Program
{
private static List<string> lines;
public static void Main()
{
// At this point lines will have the entire file. Each line in a different index in the list
lines = File.ReadAllLines("..path to file").ToList();
useList(); // Use it however
}
// Just use the List which has the same data as the file
public static string readFromList(int num)
{
return lines[num];
}
public static void useList()
{
string line1 = readFromList(1); // Could even be string line1 = lines[SomeNum];
string line2 = readFromList(2);
}
}
公共类程序
{
私有静态列表行;
公共静态void Main()
{
//此时,行将具有整个文件。列表中不同索引中的每一行
lines=File.ReadAllLines(“…文件路径”).ToList();
useList();//但是请使用它
}
//只需使用与文件具有相同数据的列表
公共静态字符串readFromList(int num)
{
返回行[num];
}
公共静态void useList()
{
字符串line1=readFromList(1);//甚至可以是字符串line1=lines[SomeNum];
字符串行2=readFromList(2);
}
}
正如我在评论中所说,只需将整个文件读取一次,然后使用(将输出转换为列表)将其保存到列表中即可。一旦你有了它,你就可以直接使用列表
,而不必每次都回去读文件。见下文
public class Program
{
private static List<string> lines;
public static void Main()
{
// At this point lines will have the entire file. Each line in a different index in the list
lines = File.ReadAllLines("..path to file").ToList();
useList(); // Use it however
}
// Just use the List which has the same data as the file
public static string readFromList(int num)
{
return lines[num];
}
public static void useList()
{
string line1 = readFromList(1); // Could even be string line1 = lines[SomeNum];
string line2 = readFromList(2);
}
}
公共类程序
{
私有静态列表行;
公共静态void Main()
{
//此时,行将具有整个文件。列表中不同索引中的每一行
lines=File.ReadAllLines(“…文件路径”).ToList();
useList();//但是请使用它
}
//只需使用与文件具有相同数据的列表
公共静态字符串readFromList(int num)
{
返回行[num];
}
公共静态void useList()
{
字符串line1=readFromList(1);//甚至可以是字符串line1=lines[SomeNum];
字符串行2=readFromList(2);
}
}
如果我理解正确,您想一次读取文本文件中的文本吗
如果是的话,试试看
找出这个文件的位置
string path = @"C:\path to textfile.txt";
然后使用system.io读取文件并保存。。这将返回一个字符串数组
string[] textfromfile = System.IO.File.ReadAllLines(path);
根据您对文本文件信息的处理方式,您可以从这里开始处理
请告诉我此解决方案是否有用。如果我正确理解您的意思,您希望一次读取文本文件中的文本吗
如果是的话,试试看
找出这个文件的位置
string path = @"C:\path to textfile.txt";
然后使用system.io读取文件并保存。。这将返回一个字符串数组
string[] textfromfile = System.IO.File.ReadAllLines(path);
根据您对文本文件信息的处理方式,您可以从这里开始处理
请告诉我此解决方案是否有帮助。为什么不阅读整个文件并将所有行保存在列表中,然后只对每行使用它。我们不喜欢这里的代码图片。始终以文本形式发布。这里不要太挑剔,但您已经成功地在短短几行中发布了大量有问题的代码。从教程开始。@Jimenemex,但即使我阅读了整个文件,每当调用第一个方法时,我都必须再次阅读文本文件。对吧?以后请不要发布代码的图片。以文本形式发布代码我认为您需要在寻址代码之前修复您的流程。为什么每次都必须readLine
读取文件readLine
没有指定文件名,所以我假设它是一个静态文件,您可以只读取和存储一次。消费者useList
将如何处理readLine
的结果?你在这里的逻辑实际上是想做什么?为什么你不阅读整个文件并将所有行保存在列表中,然后只对每一行使用它。我们不喜欢这里的代码图片。始终以文本形式发布。这里不要太挑剔,但您已经成功地在短短几行中发布了大量有问题的代码。从教程开始。@Jimenemex,但即使我阅读了整个文件,每当调用第一个方法时,我都必须再次阅读文本文件。对吧?以后请不要发布代码的图片。以文本形式发布代码我认为您需要在寻址代码之前修复您的流程。为什么每次都必须readLine
读取文件readLine
没有指定文件名,所以我假设它是一个静态文件,您可以只读取和存储一次。消费者useList
将如何处理readLine
的结果?你的逻辑到底是什么?谢谢你much@Anthony如果此答案解决了您的问题(或使您达成了解决方案),请记住单击复选标记接受此答案:非常感谢much@Anthony如果此答案解决了您的问题(或帮助您解决了问题),请记住单击复选标记接受此答案: