C#でCPUのベンダー名を読み出す

CPUのベンダー名を読み出し、それを表示してみましょう。

using System.Runtime.Intrinsics.X86;

namespace ConsoleApp
{
    class Program
    {
        // int[] ascii hex code to string and pirint it
        static void printIntArray2String(int[] regs)
        {
            foreach (int reg in regs)
            {
                byte[] bytes = BitConverter.GetBytes(reg);
                foreach (byte b in bytes)
                {
                    int value = Convert.ToInt32(b.ToString("X"), 16);
                    string stringValue = Char.ConvertFromUtf32(value);
                    Console.Write(stringValue);
                }
            }
            Console.WriteLine("");
        }

        // main
        static void Main(string[] args)
        {
            int[] regs = new int[3];

            Console.Write("Vender Id: ");
            (_, regs[0], regs[2], regs[1]) = X86Base.CpuId(0, 0);
            printIntArray2String(regs);
        }
    }
}

実行例: