Это невозможно.Объединяя значения без разделителя, вы пропустили информацию, необходимую для декодирования строки.
Если мы рассмотрим строку с самого начала, вы не уйдете далеко, пока невозможно определить, что это значит.
Первое значение может быть определено как 0
, если вы знаете, что никакие значения не сохраняются с ведущими нулями, например 032
.
А второе значение больше невозможноопределить, что было оригиналом.Это может быть 3
, 32
, 321
или даже 321121212277121757377
.
Редактировать:
Если добавить разделитель между числами, легко разобратьстрока:
int[] values = str.Split('-').Select(Int32.Parse).ToArray();
Объяснение кода:
str.Split('-')
возвращает массив строк, где каждая строка содержит число.
.Select(Int32.Parse)
будет анализировать каждыйстрока в число, это более короткая форма .Select(s => Int32.Parse(s))
.Лямбда-выражение не требуется, поскольку метод Int32.Parse
уже подходит для создания делегата для метода Select
.
.ToArray()
преобразует IEnumerable<int>
, который Select
возвращает в массив целых чисел.