簡體   English   中英

當我從注冊表項中獲得一個值時,我得到了System.Byte []

[英]When I get a value from a registry key I get System.Byte[]

在C#中,我試圖獲取注冊表項的值。 它是一個二進制密鑰。 我正在使用的代碼

RegistryKey regKey = Registry.LocalMachine;
            regKey = regKey.OpenSubKey(@"Software\Wow6432Node\Bohemia Interactive Studio\ArmA 2 OA\");

            if (regKey != null)
            {
                string value = regKey.GetValue("KEY").ToString();
                Console.WriteLine(value);
            }
            else
            {
                return;
            }

當它寫入控制台時,它輸出的只是System.Byte[] 如何輸出密鑰的確切值? 我究竟做錯了什么?

您只需將其轉換為byte[]即可獲取值,因為您的值是二進制的:

byte[] value = (byte[])regKey.GetValue("KEY");

要顯示二進制,可以用兩個十六進制數字顯示:

 for (int i = 0; i < value.Length; i++)
     Console.Write(" {0:X2}", value[i]);

您從regKey.GetValue("KEY")獲得的值可能是字節數組。

請考慮像本文一樣將其轉換為十六進制

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM