OriginalGriff
Прежде всего, вам нужно определить - или даже решить - каким должен быть новый порядок и почему: в вашем примере нет ничего очевидного, что показывает, почему новый порядок должен быть "сначала четвертая цифра, затем первая, пятая, чтобы следовать за этим"..."
Как только вы знаете порядок, это довольно тривиально.
Предполагая, что ваш заказ находится в массиве ints:
int[] order = {4, 1, 5, 2, 3, 6, 7, 8, 9, 10};
и ваше "данное число" находится в строке:
string input = "9966234340";
Затем просто создайте массив символов с тем же количеством значений, что и входные данные:
char[] output = new char[input.Length];
Простой цикл изменит их порядок:
for (int i = 0; i < input.Length; i++)
{
output[i] = input[order[i] - 1];
}
И, наконец, превратить его обратно в строку:
string result = new string(output);