The answers already posted will solve the immediate example that you give, but you also say that you have to do this for a large number of characters in a string. I may be misunderstanding your requirements, but it sounds like you are just trying to "increment" each letter. That is, A becomes B, I becomes J, etc.
If this is the case, a loop (not sure why you want to avoid loops; they seem like the best option here) will be much better than stringing a bunch of replaces together, especially for longer strings.
The below code assumes your only input will be capital latin letters, and for the letter Z, I've just wrapped the alphabet, so it will be replaced with A.
string t1 = "ABCDEFGXYZ";
StringBuilder sb = new StringBuilder();
foreach (char character in t1)
{
if (character == 'Z')
{
sb.Append('A');
}
else
{
sb.Append((Char)(Convert.ToUInt16(character) + 1));
}
}
Console.WriteLine(sb.ToString());
The following code takes input ABCDEFGXYZ and outputs BCDEFGHYZA. This is extensible to much larger inputs as well.
Replace(...)calls.