static void read()
{
file = new FileStream(@"C:\Users\Administrator\Desktop\io.txt", FileMode.Open);
StreamReader sr = new StreamReader(file);
while (sr.ReadLine()!=null)
{
Console.WriteLine(sr.ReadLine());
}
}
--------------------------------------------------------------------------
static void read()
{
file = new FileStream(@"C:\Users\Administrator\Desktop\io.txt", FileMode.Open);
StreamReader sr = new StreamReader(file);
string line;
while ((line=sr.ReadLine())!=null)
{
Console.WriteLine(line);
}
}
这两种代码运行结果为啥不一样
菜鸟关于c#IO操作中读取的疑惑
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- yangqinghua1992 2016-12-01 12:00关注
sr 每次调用readline方法都会去读取一行文本,你看你第一个demo,循环条件里调用了一次,输出语句里又调用了一次,这样每次循环都读取两行,但只输出了一行,看出问题了没?
第二个demo则是把读取到的一行文本先存在line变量里,判断不是null也输出这个变量,这样每次循环都只读取了一次。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报