Commit b45508a2 authored by shrabbit's avatar shrabbit
Browse files

添加 README.md

parent facd7f25
Loading
Loading
Loading
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