C# 如何通过控制台应用程序(.netcore)C查看输出数据#

C# 如何通过控制台应用程序(.netcore)C查看输出数据#,c#,.net,visual-studio,console-application,C#,.net,Visual Studio,Console Application,我制作了一个控制台应用程序,需要使用它查看系统信息。 运行应用程序时,我只能在控制台上看到以下内容: Usage: sysinfo <cpu|win|net|host|user> Press any key to continue . . . 用法:sysinfo 按任意键继续。 我以控制台应用程序(.net core)的形式编写了这个程序,我不知道为什么我看不到关于我的系统的信息 我的代码: using System; using System.Collecti

我制作了一个控制台应用程序,需要使用它查看系统信息。
运行应用程序时,我只能在控制台上看到以下内容:

    Usage: sysinfo <cpu|win|net|host|user>
    Press any key to continue . . .
用法:sysinfo 按任意键继续。 我以控制台应用程序(.net core)的形式编写了这个程序,我不知道为什么我看不到关于我的系统的信息

我的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SystemInfo
{
    class Program
    {
        class SysInfo
        {
            public string win, net, cpu;
            public string hostname, username;

            public SysInfo()
            {
                net = Environment.Version.ToString();
                win = Environment.OSVersion.ToString();
                cpu = Environment.ProcessorCount.ToString();
                hostname = Environment.MachineName.ToString();
                username = Environment.UserName.ToString();
            }
        }
        static void Main(string[] args)
        {
            string p;

            SysInfo info = new SysInfo();

            if (args.Length > 0) p = args[0];
            else p = "null";

            switch (p)
            {
                case "cpu":
                    Console.WriteLine("CPU count: {0}", info.cpu);
                    break;
                case "win":
                    Console.WriteLine("Windows Version: {0}", info.win);
                    break;
                case "net":
                    Console.WriteLine(".NET Version: {0}", info.net);
                    break;
                case "host":
                    Console.WriteLine("Hostname: {0}", info.hostname);
                    break;
                case "user":
                    Console.WriteLine("Username: {0}", info.username);
                    break;
                default:
                    Console.WriteLine("Usage: sysinfo <cpu|win|net|host|user>");
                    break;
            }

        }
    }
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
名称空间系统信息
{
班级计划
{
类SysInfo
{
公共字符串win、net、cpu;
公共字符串主机名、用户名;
公共系统信息()
{
net=Environment.Version.ToString();
win=Environment.OSVersion.ToString();
cpu=Environment.ProcessorCount.ToString();
hostname=Environment.MachineName.ToString();
username=Environment.username.ToString();
}
}
静态void Main(字符串[]参数)
{
字符串p;
SysInfo info=新的SysInfo();
如果(args.Length>0)p=args[0];
else p=“null”;
开关(p)
{
案例“cpu”:
WriteLine(“CPU计数:{0}”,info.CPU);
打破
“赢”一案:
WriteLine(“Windows版本:{0}”,info.win);
打破
案件“净额”:
WriteLine(“.NET版本:{0}”,info.NET);
打破
案例“主持人”:
WriteLine(“主机名:{0}”,info.Hostname);
打破
案例“用户”:
WriteLine(“用户名:{0}”,info.Username);
打破
违约:
Console.WriteLine(“用法:sysinfo”);
打破
}
}
}
}

控制台输出是应用程序的预期行为。要获取系统信息,您需要传递一个参数,例如如下
sysinfo-cpu

编辑:如果您想从控制台读取字符串,可以在循环中读取

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SystemInfo
{
    class Program
    {
        class SysInfo
        {
            public string win, net, cpu;
            public string hostname, username;

            public SysInfo()
            {
                net = Environment.Version.ToString();
                win = Environment.OSVersion.ToString();
                cpu = Environment.ProcessorCount.ToString();
                hostname = Environment.MachineName.ToString();
                username = Environment.UserName.ToString();
            }
        }
        static void Main()
        {
            string p;

            SysInfo info = new SysInfo();


            while (true)
            {
             p = Console.ReadLine();

             switch (p)
             {
                 case "cpu":
                     Console.WriteLine("CPU count: {0}", info.cpu);
                     break;
                 case "win":
                     Console.WriteLine("Windows Version: {0}", info.win);
                     break;
                 case "net":
                     Console.WriteLine(".NET Version: {0}", info.net);
                     break;
                 case "host":
                     Console.WriteLine("Hostname: {0}", info.hostname);
                     break;
                 case "user":
                     Console.WriteLine("Username: {0}", info.username);
                     break;
                 default:
                     Console.WriteLine("Usage: sysinfo <cpu|win|net|host|user>");
                     break;
             }
            }
        }
    }
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
名称空间系统信息
{
班级计划
{
类SysInfo
{
公共字符串win、net、cpu;
公共字符串主机名、用户名;
公共系统信息()
{
net=Environment.Version.ToString();
win=Environment.OSVersion.ToString();
cpu=Environment.ProcessorCount.ToString();
hostname=Environment.MachineName.ToString();
username=Environment.username.ToString();
}
}
静态void Main()
{
字符串p;
SysInfo info=新的SysInfo();
while(true)
{
p=Console.ReadLine();
开关(p)
{
案例“cpu”:
WriteLine(“CPU计数:{0}”,info.CPU);
打破
“赢”一案:
WriteLine(“Windows版本:{0}”,info.win);
打破
案件“净额”:
WriteLine(“.NET版本:{0}”,info.NET);
打破
案例“主持人”:
WriteLine(“主机名:{0}”,info.Hostname);
打破
案例“用户”:
WriteLine(“用户名:{0}”,info.Username);
打破
违约:
Console.WriteLine(“用法:sysinfo”);
打破
}
}
}
}
}

另外,我还要添加一个退出循环的例子。

控制台输出是应用程序的预期行为。要获取系统信息,您需要传递一个参数,例如如下
sysinfo-cpu

编辑:如果您想从控制台读取字符串,可以在循环中读取

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SystemInfo
{
    class Program
    {
        class SysInfo
        {
            public string win, net, cpu;
            public string hostname, username;

            public SysInfo()
            {
                net = Environment.Version.ToString();
                win = Environment.OSVersion.ToString();
                cpu = Environment.ProcessorCount.ToString();
                hostname = Environment.MachineName.ToString();
                username = Environment.UserName.ToString();
            }
        }
        static void Main()
        {
            string p;

            SysInfo info = new SysInfo();


            while (true)
            {
             p = Console.ReadLine();

             switch (p)
             {
                 case "cpu":
                     Console.WriteLine("CPU count: {0}", info.cpu);
                     break;
                 case "win":
                     Console.WriteLine("Windows Version: {0}", info.win);
                     break;
                 case "net":
                     Console.WriteLine(".NET Version: {0}", info.net);
                     break;
                 case "host":
                     Console.WriteLine("Hostname: {0}", info.hostname);
                     break;
                 case "user":
                     Console.WriteLine("Username: {0}", info.username);
                     break;
                 default:
                     Console.WriteLine("Usage: sysinfo <cpu|win|net|host|user>");
                     break;
             }
            }
        }
    }
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
名称空间系统信息
{
班级计划
{
类SysInfo
{
公共字符串win、net、cpu;
公共字符串主机名、用户名;
公共系统信息()
{
net=Environment.Version.ToString();
win=Environment.OSVersion.ToString();
cpu=Environment.ProcessorCount.ToString();
hostname=Environment.MachineName.ToString();
username=Environment.username.ToString();
}
}
静态void Main()
{
字符串p;
SysInfo info=新的SysInfo();
while(true)
{
p=Console.ReadLine();
开关(p)
{
案例“cpu”:
WriteLine(“CPU计数:{0}”,info.CPU);
打破
“赢”一案:
WriteLine(“Windows版本:{0}”,info.win);
打破
案件“净额”:
WriteLine(“.NET版本:{0}”,info.NET);
打破
案例“主持人”:
WriteLine(“主机名:{0}”,info.Hostname);
打破
案例“用户”:
WriteLine(“用户名:{0}”,info.Username);
打破
违约:
Console.WriteLine(“用法:sysinfo”