C# 如何增加BufferHeight属性
我的项目中有一个包含1000行的文本文件,但它从703行开始读取,直到1000行 出了什么问题?通常它应该读取所有行C# 如何增加BufferHeight属性,c#,C#,我的项目中有一个包含1000行的文本文件,但它从703行开始读取,直到1000行 出了什么问题?通常它应该读取所有行 using System; using System.IO; using System.Text; namespace ConsoleApp1 { class Program { static void Main(string[] args) { int b = 0; string[
using System;
using System.IO;
using System.Text;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
int b = 0;
string[] lines = File.ReadAllLines(@"C:\Users\blabla\source\repos\ConsoleApp1\DEV-data.txt");
int subString = 0;
foreach (string l in lines)
{
b++;
Console.WriteLine(b+" Line "+l);
}
// Keep the console window open in debug mode.
Console.WriteLine("Press any key to exit.");
System.Console.ReadKey();
}
}
}
根据这些评论,我需要增加控制台的可用性
public static int BufferHeight { get; set; }
如何增加BufferHeight属性以使我的控制台能够打印所有1000行?和的默认值分别为300行和85列。这表明您确实需要增加Console.BufferHeight属性并将其设置为大于1000
BufferHeight的最大值为Int16.MaxValue-1
...
Console.BufferHeight = 1200;
foreach (string l in lines)
{
b++;
Console.WriteLine(b+" Line "+l);
}
...
当您单步执行代码时会发生什么?你在观察什么?它输出297行而不是1000行,是因为控制台缓冲区只能显示最新的297行,所以你只能看到297行吗?检查
控制台的值。BufferHeight
-控制台窗口有垂直和水平缓冲区,所以它可能正在打印所有1000行,但由于缓冲区的原因,您只能向上滚动到第703行。我不是问它输出什么。当您一行一行地遍历代码,查看变量,查看程序流的走向时,会发生什么?例如,您将0
分配给b
…您是说您看到的第一件事是297
?观察b
的值,看看实际发生了什么。