Я верю, что с первой попытки вы справились с этой задачей:
var arr = userInputBox.Text.Split(‘,’);
textbox.Text = new string(Array.ConvertAll(arr, s => (char)(int.Parse(s)));
Там, где вы использовали convertall, чтобы изменить массив строк на массив int, я добавил приведение к char, чтобы вместо него выводился массив символов (я объясню почему ниже), и это можно преобразовать в строку с помощью передавая его в конструктор новой строки
Это привело к гораздо более компактной (и я мог бы сделать ее одной строкой, если честно) форме, но компактность не всегда желательна с точки зрения обучения
Следовательно, это исправляет ваш код, если его легче понять:
decodeText = userInputBox.Text;
var arr = decodeText.Split(‘,’);
int[] myInts = Array.ConvertAll(arr, int.Parse);
for(int i = 0; i < myInts.Length; i++)
{
decodeBox.Text += (char)myInts[i];
}
Ключевым битом, который вам не хватало (кроме использования разбиения строки для разделения строки на массив числовых строк), было преобразование целого числа в символ
В c # есть прямое отображение от int до буквы A, например, 65, и если вы берете int 65 и приводите его к символу, с (char)
он становится A
Тогда мы просто добавим это
Если список целых будет длинным, рассмотрите возможность использования строителя строк для построения вашей строки