You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将C#获取的Motherboard Name转换为字符串变量值?

获取主板名称并转为字符串变量及HEX编码的实现方案

你当前的代码已经能通过WMI获取主板信息,但缺少将Product(主板名称)提取为独立字符串变量的逻辑。以下是修改后的完整代码,直接解决你的问题:

using System;
using System.Management;
using System.Text;

public class Programa
{
    public static void Main()
    {
        // 存储主板名称的字符串变量
        string motherboardName = null;

        using (ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT Product FROM Win32_BaseBoard"))
        {
            ManagementObjectCollection information = searcher.Get();
            foreach (ManagementObject obj in information)
            {
                // 提取Product属性值并转为字符串,处理可能的空值
                motherboardName = obj["Product"]?.ToString() ?? "Unknown Motherboard";
                Console.WriteLine($"Motherboard Name = {motherboardName}");
                break; // 通常只有一块主板,获取到后直接跳出循环
            }

            // HEX转换逻辑,使用获取到的主板名称变量
            if (!string.IsNullOrEmpty(motherboardName))
            {
                byte[] bytes = Encoding.UTF8.GetBytes(motherboardName);
                string hexString = Convert.ToHexString(bytes);

                Console.WriteLine($"String value: \"{motherboardName}\"");
                Console.WriteLine($"   Hex value: \"{hexString}\"");
            }
            else
            {
                Console.WriteLine("Failed to retrieve motherboard name.");
            }
        }
    }
}

关键修改点说明:

  • 新增motherboardName字符串变量专门存储主板名称
  • 直接通过obj["Product"]定位到目标属性,用?.ToString()安全转换为字符串,同时用??处理属性值为null的异常情况
  • 针对单主板场景添加break语句,减少不必要的循环遍历
  • 将HEX转换逻辑与实际获取到的主板名称变量绑定,替换原测试用的固定字符串
  • 增加空值判断,避免转换过程中出现异常

内容的提问来源于stack exchange,提问作者MSNGuy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 16:00:31