C # Registry.GetValue не может получить правильное значение - PullRequest
0 голосов
/ 03 марта 2011

В моем коде мне нужно получить часовой пояс Венесуэлы из Реестра. Что я хочу, так это значение индекса под ключом «Стандартное время Венесуэлы». Я использую следующий код, чтобы сделать это, но, кажется, он не работает правильно. Возвращенное число - «-2147483573», но правильное число - «2147483723». может кто-нибудь помочь выяснить, что не так.

enter image description here enter image description here

1 Ответ

3 голосов
/ 03 марта 2011

Значение 0x8000004B больше целого числа. Вы должны рассматривать это как целое число без знака.

Итак:

var t = subKey.GetValue("Index");
uint ut = (uint)t;

А потом возьми ut.ToString().

Обновленный пример:

int t = -2147483573;  // Simulates your call to subKey.GetValue
uint ut = (uint)t;
string s = ut.ToString();
Console.WriteLine(s);

Выход 2147483723.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...