EssenceGold Ответов: 1

Справка по шестнадцатеричному калькулятору C#.


Здравствуйте, друзья. Мне нужен шестнадцатеричный калькулятор. Я не мог этого сделать. Каково ваше предложение. Я хочу именно этого ;

например;

Hexdata = "2020202020442042497c31323334414243353637387c";


расчет;

20+20+20+20+20+44+20+42+49+7С+31+32+33+34+41+42+43+35+36+37+38+7c = 4f1

result= "4f1";


private void HexCalc(string data) 
{

 //Code Here.....

}


Спасибо за помощь. Прошу прощения за плохой английский и за повествование.

Что я уже пробовал:

string hex;
string result;
int count;

 private void button2_Click(object sender, EventArgs e)
        {
            string data = dataBox.Text;
            string hexdata = ConvertToHex(data);

            for (var i = 0; i< hexdata.Length; i+= 2)
            {
                hex = hexdata.Substring(i, 2);
                count += 2;
                result = Convert.ToString(toplam + hexdata.Substring(count,2));
                if(i == hexdata.Length)
                {
                    textBox7.Text = Convert.ToString(result);
                    return;
                }
               
            }
        }

1 Ответов

Рейтинг:
12

#realJSOP

Ну, вы не показали нам свой метод ConvertToHex, так что я предполагаю, что именно здесь вы ошиблись.

public static byte[] StringToByteArray(string text) 
{
    return Enumerable.Range(0, text.Length)
                     .Where(x => x % 2 == 0)
                     .Select(x => Convert.ToByte(text.Substring(x, 2), 16))
                     .ToArray();
}


Кроме того, я бы просто сделал это для математической части:

string text = "2020202020442042497c31323334414243353637387c";
int total = this.StringToByteArray(text).Sum(x=>x);
string totalStr = string.Format("{0:x}", total);


CPallini

5.

#realJSOP

Это не имеет абсолютно никакого отношения к вашему первоначальному вопросу. Если мой код ответил на ваш вопрос, почему вы не отметили его как ответ?

EssenceGold

Да, ты правильно отработал свой код. Вы правы. Мне пришлось задать этот вопрос в другой теме.