Итак, у меня есть эти две функции,
public static string[] CharToHex(string str, string prefix, string delimeter)
{
List<string> list = new List<string>();
foreach (char c in str)
{
list.Add(prefix + String.Format("{0:X2}",(int)c) + delimeter);
}
return list.ToArray();
}
public static string[] StrToChar(string str, string prefix, string delimeter)
{
List<string> list = new List<string>();
foreach (char c in str)
{
list.Add(prefix + (int)c + delimeter);
}
return list.ToArray();
}
По сути, я пытаюсь показать значение Sum'd обоих возвращаемых массивов в метке.
Я создал функцию для вычисления суммы,
public static string ArraySum(int[] array)
{
string sum = array.Sum().ToString();
return sum;
}
И еще одну функцию, чтобы взять массив строк и преобразовать его в строку,
public static string StringArrayToString(string[] array)
{
StringBuilder builder = new StringBuilder();
foreach (string value in array)
{
builder.Append(value);
}
return builder.ToString();
}
Этокак я все это собираю,
string[] dec = StrToChar(txtInput.Text, txtPrefix.Text, txtDelimiter.Text);
string[] hex = CharToHex(txtInput.Text, txtPrefix.Text, txtDelimiter.Text);
string decStr = StringArrayToString(dec);
string hexStr = StringArrayToString(hex);
int[] decCount = dec.Select(x => int.Parse(x)).ToArray();
int[] hexCount = hex.Select(x => int.Parse(x)).ToArray();
var builder = new StringBuilder();
Array.ForEach(decCount, x => builder.Append(x));
var res = builder.ToString();
txtDecimal.Text = decStr;
txtHex.Text = hexStr;
lblDecimalSum.Text = res;
Проблема здесь в том, что это, очевидно, не работает, это также кажется ужасно неэффективным, должен быть более легкий способ сделать все это, а такжемоя сумма неправильно суммирует элементы массива.
Я не совсем уверен, как это сделать, и любая помощь / обратная связь будет принята с благодарностью.
Благодарю вас.