C# 控制台窗口不显示

C# 控制台窗口不显示,c#,nunit,C#,Nunit,我在一次NUnit测试中发现了这个。我正在用R#逐步完成我的测试。控制台窗口不会弹出来显示foreach循环的内容…不确定我缺少了什么,但是是的,有数据可以循环,所以这里不是没有数据 foreach (PostEntry post in posts) { Console.WriteLine("id: " + post.Id); Console.WriteLine("title: " + post.Title); Console.WriteLine("body: " + p

我在一次NUnit测试中发现了这个。我正在用R#逐步完成我的测试。控制台窗口不会弹出来显示foreach循环的内容…不确定我缺少了什么,但是是的,有数据可以循环,所以这里不是没有数据

foreach (PostEntry post in posts)
{
    Console.WriteLine("id: " + post.Id);
    Console.WriteLine("title: " + post.Title);
    Console.WriteLine("body: " + post.Body);
    Console.ReadLine();
}

如果您正在处理类库,并且只想查看每个循环的内容,可以使用
System.Diagnostics.Debug.Write
而不是Console.WriteLine。输出将在输出窗口中显示

foreach (PostEntry post in posts)
{
    System.Diagnostics.Debug.WriteLine("loop starts");
    System.Diagnostics.Debug.WriteLine("id: " + post.Id);
    System.Diagnostics.Debug.WriteLine("title: " + post.Title);
    System.Diagnostics.Debug.WriteLine("body: " + post.Body);
    System.Diagnostics.Debug.WriteLine("loop ends");
    System.Diagnostics.Debugger.Break();
}

如果您正在处理类库,并且只想查看每个循环的内容,可以使用
System.Diagnostics.Debug.Write
而不是Console.WriteLine。输出将在输出窗口中显示

foreach (PostEntry post in posts)
{
    System.Diagnostics.Debug.WriteLine("loop starts");
    System.Diagnostics.Debug.WriteLine("id: " + post.Id);
    System.Diagnostics.Debug.WriteLine("title: " + post.Title);
    System.Diagnostics.Debug.WriteLine("body: " + post.Body);
    System.Diagnostics.Debug.WriteLine("loop ends");
    System.Diagnostics.Debugger.Break();
}

你的项目类型是什么。在VS->Solution Explorer中右键单击项目,然后单击属性。切换到Build(我想)->Output类型。它只是一个类库项目。在那里运行单元测试。然后你的console.write就不会出现了。您需要切换到控制台应用程序,或者按照@wizzardz的建议执行。您的项目类型是什么。在VS->Solution Explorer中右键单击项目,然后单击属性。切换到Build(我想)->Output类型。它只是一个类库项目。在那里运行单元测试。然后你的console.write就不会出现了。要么你需要切换到控制台应用程序,要么按照@wizzardz的建议去做。谢谢。如何将记录排队并在输出中显示每个迭代的最终列表,而不是在输出窗口中只看到一个迭代?因为除非在其中一个写线行上添加调试中断,否则它不会在输出窗口中显示输出。我不想为了只看到一个,而必须在一个断点处。我想运行这个单元测试,让foreach完成,并且仍然能够在输出窗口中看到foreach处理的所有记录的结果。显然,只有在foreach循环中的一行上添加调试点,然后查看输出时,我才能看到一次迭代window@CoffeeAddict:为了查看必须停止执行的值,可以通过断点或使用Debugger.break()函数来完成。我已经更新了我的答案。是的,但是我想把写线排成一列,并在输出窗口的末尾显示列表,这可能吗?@CoffeeAddict:它在循环之间写入了其他信息吗?谢谢。如何将记录排队并在输出中显示每个迭代的最终列表,而不是在输出窗口中只看到一个迭代?因为除非在其中一个写线行上添加调试中断,否则它不会在输出窗口中显示输出。我不想为了只看到一个,而必须在一个断点处。我想运行这个单元测试,让foreach完成,并且仍然能够在输出窗口中看到foreach处理的所有记录的结果。显然,只有在foreach循环中的一行上添加调试点,然后查看输出时,我才能看到一次迭代window@CoffeeAddict:为了查看必须停止执行的值,可以通过断点或使用Debugger.break()函数来完成。我已经更新了我的答案。是的,但我想将写线排队,并在输出窗口的末尾显示列表,这可能吗?@CoffeeAddict:它在循环之间写入了其他信息吗?