标签:streamreader arraylist arrays c
这是我的代码:
StreamReader reader = new StreamReader("war.txt");
string input = null;
while ((input = reader.ReadLine()) != null)
{
Console.WriteLine(input);
}
reader.Close();
上面的程序逐行读取并从文件“ war.txt”中打印出来.我需要重新编写程序,以便以相反的顺序打印出来,即最后一行第一和最后一行.例如,如果“ war.txt”包含以下内容:
Hello.
How are you?
Thank you.
Goodbye.
该程序应打印出:
Goodbye.
Thank you.
How are you?
Hello.
我是C#的新手,请帮忙!谢谢!
解决方法:
为此,您无论如何都要缓冲数据(除非您使用FileStream API进行一些棘手的工作以向后读取文件).怎么样:
var lines = File.ReadAllLines("war.txt");
for(int i = lines.Length - 1; i >= 0; i--)
Console.WriteLine(lines[i]);
它只是将文件(按行)加载到一个数组中,然后从末尾开始打印该数组.
LINQ版本是:
foreach(var line in File.ReadLines("war.txt").Reverse())
Console.WriteLine(line);
但坦率地说,阵列版本效率更高.
标签:streamreader,arraylist,arrays,c 来源: https://codeday.me/bug/20191127/2076932.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。