The Chaotic Void Ответов: 1

C# замена строки между массивами


Хорошо, я не чувствую, что этот вопрос самоочевиден, поэтому я объясню его.
Я создаю программу, которая требует перемещения данных, но она читает строку одну за другой, поэтому мне нужно хранить вещи для замены и заменять их в массиве.
Допустим мне нужно заменить строку
"тест"
с
"тест2"
Ну мой массив будет настроен следующим образом:
string[] arr = new string[10];
arr[1] = "test";
arr[2] = "test2";


Это была бы подстава.
Вот мой код для этого:
string text = kek.Text;

for (int idx = 0; idx < reloc.Length; idx++)
{
    text = Regex.Replace(text, reloc[idx], reloc[idx + 1]);
}
return text;


Мне было интересно, как бы я сделал это правильно, так как ошибка, которую я получаю прямо сейчас, такова:
"Значение не может быть пустым шаблоном имени параметра"

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

Переписываю свой метод.
Настройка с помощью простой математики.

Bryian Tan

Массив начинается с 0. Я предполагаю, что reloc[0] равен нулю, потому что массив с фиктивными данными начинается с 1 (arr[1] = "Тест"; опять же предполагая, что arr-это reloc)? Я просто предполагаю основываясь на том что здесь представлено

The Chaotic Void

Я уже пробовал это раньше Но да это была идея

Karthik_Mahalingam

каков ваш вклад и ожидаемый результат ?

1 Ответов

Рейтинг:
1

Bryian Tan

Вот пример, основанный на том, что вы предоставили. Предположим, что в массиве reloc есть только два фиктивных значения. Но цикл пытается выполнить цикл 10 раз (длина массива). Код будет жаловаться, потому что он пытается получить значение из reloc[2], reloc[3], ...которое недоступно. Опять же, это всего лишь мое предположение, основанное на том, что здесь представлено.

Онлайн-компилятор C# | .NET Fiddle[^]