C# 使用System.Reflection打印所有系统环境信息

C# 使用System.Reflection打印所有系统环境信息,c#,environment-variables,console-application,system.reflection,C#,Environment Variables,Console Application,System.reflection,我们有一个小任务,就是使用反射在控制台窗口中打印环境类的所有变量,但是我甚至不知道该怎么做。如果我在这里写错了什么,我很抱歉,我是C的新手 当然我可以使用这种代码,但这不是我所需要的 string machineName = System.Environment.MachineName; Console.WriteLine(machineName); 我在谷歌搜索了这么多,这就是我发现的,但我不认为这是我需要的。我甚至不知道我需要什么 System.Reflection.Assembly in

我们有一个小任务,就是使用
反射
在控制台窗口中打印
环境
类的所有变量,但是我甚至不知道该怎么做。如果我在这里写错了什么,我很抱歉,我是
C
的新手

当然我可以使用这种代码,但这不是我所需要的

string machineName = System.Environment.MachineName;
Console.WriteLine(machineName);
我在谷歌搜索了这么多,这就是我发现的,但我不认为这是我需要的。我甚至不知道我需要什么

System.Reflection.Assembly info = typeof(System.Int32).Assembly;
System.Console.WriteLine(info);
任何建议、线索?

使用方法获取
环境的所有公共和静态属性
,然后显示每个属性的名称和值:

var properties = typeof(Environment)
                .GetProperties(BindingFlags.Public | BindingFlags.Static);

foreach(var prop in properties)
   Console.WriteLine("{0} : {1}", prop.Name, prop.GetValue(null));

你不需要在这里思考

foreach(DictionaryEntry e in System.Environment.GetEnvironmentVariables())
{
    Console.WriteLine(e.Key  + ":" + e.Value);
}

var compName = System.Environment.GetEnvironmentVariables()["COMPUTERNAME"];

查看
typeof(Environment)
这里不需要反射。最好依赖公共API
GetEnvironmentVariables