Я пытаюсь выполнить строковые манипуляции. Вот мой C# код:Преобразование «int» в «char» внутри массива char
static void Main(string[] args)
{
string input;
string output;
int length;
Console.WriteLine("input = ");
input = Console.ReadLine();
length = input.Length;
if ((input != "") || (length != 0))
{
Random randem = new Random();
int i = -1; //because I do not want the first number to be replaced by the random number
char[] characters = input.ToCharArray();
while (i < length)
{
int num = randem.Next(0, 9);
char num1 = Convert.ToChar(num);
i = i + 2; //so that every next character will be replaced by random number.. :D
characters[i] = num1; //*error* here
}
output = new string(characters);
Console.WriteLine(output);
}
Например:
вход пользователя: "i_love_to_eat_fish"
Желаемый результат: "i2l4v1_9o5e8t7f8s2"
уведомление о том, что только неизменным символ в полукокса [] символов: "ilv _ oetfs". (Требуемый выход из программы)
Я уже пробовал использовать этот код, но до сих пор, постоянно получаю сообщение об ошибке при characters[i] = num1
;
Есть ли я на правильном пути?
Что ошибка? Это ArgumentOutOfRange? – juharr
IndexOutOfTheRangeException – Marshal