Увеличение символа С#

Я новичок в C#, поэтому этот вопрос (надеюсь) будет очень простым.

Я пытаюсь увеличить каждый символ в массиве символов. Это мой код.

        //increment each character in array
        for (int i = 0; i < text.Length; i++)
        {
            textArray[i]++; //this works
          // textArray[i] +=13; //this doesn't work 
        }

Я могу увеличить массив на единицу, но не более того.

Спасибо!

Если это поможет, вот остальная часть моего кода.

        // put all text into a string - here loosely typed as a var
        var s = System.IO.File.ReadAllText(@"C:\Users\Eliezer Feder\Documents\2 Landers\Limudie Chol\5th Semester\C#\GettysburgAddress.txt");

        var upper = s.ToUpper();

        string text = ""; //empty string to add characters to it if they are indeed characters.
        foreach (char c in upper.ToCharArray())
        {
            if (Char.IsLetter(c))
            {
                text += c;
            }
        }

        //change the 'text' string to an array so can increment each individual char
        Char[] textArray = text.ToArray();

        //output old text in the char array:
        Console.WriteLine(textArray);
        Console.ReadKey();

        //increment each character in array
        for (int i = 0; i < text.Length; i++)
        {
            textArray[i]++; //this works
          // textArray[i] +=13; //this doesn't work 
        }

        Console.WriteLine(textArray);
        Console.ReadKey();

        //change back to string so can write to file:
        string lines = ""; //empty string to add characters to it if they are characters.
        foreach (char c in upper.ToCharArray())
        {
            lines += textArray[c];
        }


        System.IO.File.WriteAllLines(@"Eliezer Feder\Documents\2 Landers\Limudie Chol\5th Semester\C#\encrypted.txt", lines); //THIS PART IS ALSO NOT WORKING FOR SOME REASON

person Eli Feder    schedule 11.10.2015    source источник
comment
Что значит не работает? вы получаете исключение? Каковы ваши ожидания?   -  person Yacoub Massad    schedule 11.10.2015
comment
см. dotnetperls.com/rot13   -  person nozzleman    schedule 11.10.2015
comment
Всегда включайте полные сообщения об ошибках (от исключения или компилятора) и сначала гуглите их. Дубликат использует его в названии.   -  person Henk Holterman    schedule 11.10.2015


Ответы (1)


Тип элементов textArraychar. Литерал 13 имеет тип int. Результатом добавления int к char является int, поэтому вы не можете присвоить его переменной char.

Вы должны привести литерал к char, тогда результатом также будет char:

textArray[i] += (char)13;
person Jakub Lortz    schedule 11.10.2015