Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何增加BufferHeight属性_C# - Fatal编程技术网

C# 如何增加BufferHeight属性

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[

我的项目中有一个包含1000行的文本文件,但它从703行开始读取,直到1000行

出了什么问题?通常它应该读取所有行

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
的值,看看实际发生了什么。