Hola tuadmin gracias por responder, en vista a lo que me dijiste miré en internet esta página y encontré la respuesta a mis problemas:
The Java Substring Function vs. the C# Substring Function
Adapté al código y funcionó, pongo el código por si a alguien le interesa:
Código C#:
Ver originalusing System;
namespace _12_STRING
{
class Program {
/**
* Código de: https://algoritmosjavafc.blogspot.com/2013/11/manejo-de-cadenas.html
*
* 12. Un grupo de inteligencia militar desea codificar los mensajes
* secretos de tal forma que no puedan ser interpretados con una lectura
* directa, para lo cual han establecido las siguientes reglas:
a) Todo mensaje debe estar sus letras en mayúsculas.
b) Reemplazar cada letra por la que sigue según abecedario, excepto Z
que se deberá reemplazar con la letra A.
c) reemplazar cada dígito encontrado por el siguiente numero excepto el
9 que deberá ser reemplazado por el 0.
*/
static void Main(string[] args) {
String mensaje, cod1="", caracter;
String ABC="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
String numeros="0123456789";
Console.Clear();
Console.WriteLine("Ingrese el mensaje: ");
mensaje= Console.ReadLine();
mensaje= mensaje.ToUpper();
for (int i = 0; i < mensaje.Length; i++) {
caracter=mensaje.Substring(i,(i+1) - i);
if(caracter.Equals(" ")){
cod1=cod1+caracter;
} else {
for (int j = 0; (j < ABC.Length); j++) {
if(caracter.Equals(ABC.Substring(j,(j+1) - j))){
if(caracter.Equals("Z")){
cod1=cod1+"A";
break;
} else {
cod1=cod1+ABC.Substring((j+1),(j+2) - (j+1));
break;
}
}
}
for (int k = 0; k <numeros.Length; k++) {
if(caracter.Equals(numeros.Substring(k,(k+1) - k))){
if(caracter.Equals("9")){
cod1=cod1+"0";
break;
} else {
cod1=cod1+numeros.Substring((k+1),(k+2) - (k+1));
break;
}
}
}
}
}
Console.WriteLine("\n MENSAJE INGRESADO: "+mensaje);
Console.WriteLine("\n CÓDIGO RESULTANTE: "+cod1);
}
}
}
Muchas gracias por tu tiempo y respuesta. Saludos.