gpt4 book ai didi

c# - foreach 循环未以预期值启动控制台输出

转载 作者:太空宇宙 更新时间:2023-11-03 21:33:12 24 4
gpt4 key购买 nike

当我使用以下代码遍历列表时,我得到了一个列表集合的意外起始值:

var lister = new List<int>();

for (int i = 0; i <= 300; i++)
{
lister.Add(i);
}

foreach (var item in lister)
{
Console.WriteLine(item);
}

控制台的第一个输出是 2 而不是预期的 0。如果我对数组执行此操作,它会按预期正常工作。换句话说,控制台的输出以 0 开头。为什么上面的 for 循环不向从 0 开始的列表器集合对象添加值,而是从数字 2 开始添加值等等病房?

当我使用以下代码遍历数组时,不会发生此问题:

var myArray = new int[300];

for (int i = 0; i < 300; i++)
{
myArray[i] = i;
}

foreach (var item in myArray)
{
Console.WriteLine(item);
}

最佳答案

Selman22 的回答是您所看到的正确原因 - 默认情况下,控制台有 300 行的缓冲区。早于最后 300 行的所有内容都将滚出控制台窗口并丢失。

您可以更改缓冲区,将其增加到您需要的任何大小:

Console.BufferHeight = 9999;

...

// now you'll be able to scroll up and see all your numbers
foreach (var item in lister)
{
Console.WriteLine(item);
}

关于c# - foreach 循环未以预期值启动控制台输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23164265/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com