Loading README.md 0 → 100644 +59 −0 Original line number Diff line number Diff line # DeviceInfo 2 此项目是为了补全 DeviceInfo 而重构的,但我不想写。 ## 这是世界上最简单的设备信息格式化输出代码 跟随教程,1 分钟实现JSON结构化输出。 ### 零、创建项目 在项目目录运行命令,或使用IDE创建。 ```shell dotnet new console -n DeviceInfo ``` ### 一、安装依赖 进入项目后,修改`DeviceInfo.csproj`,添加下面内容 ```xml <ItemGroup> <PackageReference Include="Hardware.Info" Version="101.1.0.1" /> </ItemGroup> ``` ### 二、编写主函数 替换主函数为下面内容 ```csharp static void Main(string[] args) { var hw = new HardwareInfo(); hw.RefreshAll(); var node = new JsonObject { ["OS"] = JsonNode.Parse(JsonSerializer.Serialize(hw.OperatingSystem)), ["CPU"] = JsonNode.Parse(JsonSerializer.Serialize(hw.CpuList)), ["Batteries"] = JsonNode.Parse(JsonSerializer.Serialize(hw.BatteryList)), ["BIOS"] = JsonNode.Parse(JsonSerializer.Serialize(hw.BiosList)), ["ComputerSystem"] = JsonNode.Parse(JsonSerializer.Serialize(hw.ComputerSystemList)), ["Drivers"] = JsonNode.Parse(JsonSerializer.Serialize(hw.DriveList)), ["Keyboards"] = JsonNode.Parse(JsonSerializer.Serialize(hw.KeyboardList)), ["Memories"] = JsonNode.Parse(JsonSerializer.Serialize(hw.MemoryList)), ["MemoryStatus"] = JsonNode.Parse(JsonSerializer.Serialize(hw.MemoryStatus)), ["MonitorList"] = JsonNode.Parse(JsonSerializer.Serialize(hw.MonitorList)), ["MotherboardList"] = JsonNode.Parse(JsonSerializer.Serialize(hw.MotherboardList)), ["MouseList"] = JsonNode.Parse(JsonSerializer.Serialize(hw.MouseList)), ["PrinterList"] = JsonNode.Parse(JsonSerializer.Serialize(hw.PrinterList)), ["SoundDeviceList"] = JsonNode.Parse(JsonSerializer.Serialize(hw.SoundDeviceList)), ["VideoControllerList"] = JsonNode.Parse(JsonSerializer.Serialize(hw.VideoControllerList)) }; Console.WriteLine(node.ToJsonString()); } ``` ### 三、运行 运行后,你将得到以下内容,这就是全部信息了 为了便于演示,这里进行了格式化。 ```json /* 不给看 */ ``` No newline at end of file Loading
README.md 0 → 100644 +59 −0 Original line number Diff line number Diff line # DeviceInfo 2 此项目是为了补全 DeviceInfo 而重构的,但我不想写。 ## 这是世界上最简单的设备信息格式化输出代码 跟随教程,1 分钟实现JSON结构化输出。 ### 零、创建项目 在项目目录运行命令,或使用IDE创建。 ```shell dotnet new console -n DeviceInfo ``` ### 一、安装依赖 进入项目后,修改`DeviceInfo.csproj`,添加下面内容 ```xml <ItemGroup> <PackageReference Include="Hardware.Info" Version="101.1.0.1" /> </ItemGroup> ``` ### 二、编写主函数 替换主函数为下面内容 ```csharp static void Main(string[] args) { var hw = new HardwareInfo(); hw.RefreshAll(); var node = new JsonObject { ["OS"] = JsonNode.Parse(JsonSerializer.Serialize(hw.OperatingSystem)), ["CPU"] = JsonNode.Parse(JsonSerializer.Serialize(hw.CpuList)), ["Batteries"] = JsonNode.Parse(JsonSerializer.Serialize(hw.BatteryList)), ["BIOS"] = JsonNode.Parse(JsonSerializer.Serialize(hw.BiosList)), ["ComputerSystem"] = JsonNode.Parse(JsonSerializer.Serialize(hw.ComputerSystemList)), ["Drivers"] = JsonNode.Parse(JsonSerializer.Serialize(hw.DriveList)), ["Keyboards"] = JsonNode.Parse(JsonSerializer.Serialize(hw.KeyboardList)), ["Memories"] = JsonNode.Parse(JsonSerializer.Serialize(hw.MemoryList)), ["MemoryStatus"] = JsonNode.Parse(JsonSerializer.Serialize(hw.MemoryStatus)), ["MonitorList"] = JsonNode.Parse(JsonSerializer.Serialize(hw.MonitorList)), ["MotherboardList"] = JsonNode.Parse(JsonSerializer.Serialize(hw.MotherboardList)), ["MouseList"] = JsonNode.Parse(JsonSerializer.Serialize(hw.MouseList)), ["PrinterList"] = JsonNode.Parse(JsonSerializer.Serialize(hw.PrinterList)), ["SoundDeviceList"] = JsonNode.Parse(JsonSerializer.Serialize(hw.SoundDeviceList)), ["VideoControllerList"] = JsonNode.Parse(JsonSerializer.Serialize(hw.VideoControllerList)) }; Console.WriteLine(node.ToJsonString()); } ``` ### 三、运行 运行后,你将得到以下内容,这就是全部信息了 为了便于演示,这里进行了格式化。 ```json /* 不给看 */ ``` No newline at end of file