C#中的系统(“暂停”)将不起作用。备择方案?

时间:2014-04-25 12:04:09

标签: c# visual-studio

我正在构建一个程序,用于显示Smartgraph3读数。每当我开始调试时,命令行都会打开,但它会立即消失。我知道ctrl + f5有效,但我一直在寻找一个解决方案,我不必输入相同的命令来防止它消失。

我用过System(“暂停”);但是它在系统下不断出现蓝线,并且在错误列表中说'系统'是'命名空间'但是像'变量'一样使用。有人知道出了什么问题吗?

另外,我听说不应该使用System(“暂停”),那么有没有人可以选择同样有效的替代方案?

这是我的代码的副本。谢谢。

    using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
using System.Text;
using Infowerk.SmartGraph3.SmartGraph3API;
//using CSTestClient.SmartGraph;

namespace CSTestClient
{
    class Program
    {
        static void Main(string[] args)
        {
            TestAPI();
        }



        static void TestAPI()
        {
            System.ServiceModel.Channels.Binding service_binding = new BasicHttpBinding();
            EndpointAddress endpoint_address = new EndpointAddress("http://localhost:8000/SmartGraph3API/APIV01");


            SmartGraph3APIClient client = new SmartGraph3APIClient(service_binding, endpoint_address);

            List<SG3APIDeviceIdentification> device_list = client.GetDeviceList();

            foreach (SG3APIDeviceIdentification device_identification in device_list)
            {
                Console.WriteLine("device id: {0}", device_identification.DeviceId);
                System("pause");
            }
        }

    }
}

2 个答案:

答案 0 :(得分:6)

继续使用:

Console.ReadKey();

答案 1 :(得分:0)

Main()的右大括号上设置断点。或者使用将控制台输出流式传输到调试窗口的IDE,该窗口在进程退出后持续存在(例如,Eclipse,我假设除了VS之外的其他任何东西)。没有理由强迫每个真正想要运行程序的人以正常方式调用它,如:

:; ./myProgram.exe < /dev/null; exit $?
.\myProgram.exe < NUL

请参阅https://stackoverflow.com/a/20487235