Преобразование шестнадцатиричной последовательности в UInt32 - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, не работает библиотека Globalization для преобразования hex в UInt32
using System.Globalization;
 
for (int i = 0; i < s.Length; i += 8) //s="ffeeddccbbaa99887766554433221100f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff"
            {
                string temp = "";
                temp = s.Substring(i, 8);
                UInt32 te = 7;
                UInt32.TryParse(s, NumberStyles.HexNumber, null, out te);
                key[i/8] = te;
            }
При этом, если вместо переменной s передавать строку, которая в ней содержится, то преобразование работает
UInt32.TryParse("ffeeddcc", NumberStyles.HexNumber, null, out te);
Как решить эту проблему? Почему не работает с переменной?

Решение задачи: «Преобразование шестнадцатиричной последовательности в UInt32»

textual
Листинг программы
using System;
using System.Linq;
 
namespace Legend072
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = "ffeeddccbbaa99887766554433221100f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff";
            UInt32[] array = Enumerable.Range(0, s.Length / 8)
                .Select(x => s.Substring(x * 8, 8))
                .Select(x => UInt32.Parse(x, System.Globalization.NumberStyles.HexNumber))
                .ToArray();
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5
Похожие ответы