RE:prog. para escribir al reves
Utiliza un ciclo for para ello, quie te muesto un ejemplo en Windows Forms, para modo consola sería utilizar el mismo proceso:
private void btnTransformar_Click(object sender, EventArgs e)
{
string strTexto = txtTexto.Text;
lblTextoTransformado.Text = String.Empty;
if (strTexto != String.Empty)
{
for (int i = (strTexto.Length - 1); i >= 0; i--)
lblTextoTransformado.Text += strTexto[i];
}
}
Aquí se tendría un TextBox 'txtTexto' en donde se escribe el texto a transformar el revés, un Button 'btnTransformar' para invocar la transformación, y un Label 'lblTextoTransformado' para mostrar ya el texto al revés, entonces en el evento click ya realizarías la transformación.
Si te fijas es muy fácil nada más es recorrer el string. En C# una variable tipo String puede ser tratada también como un arreglo de Char's es por eso que tu puedes usar la instrucción strTexto[i] para obtener cada uno de los Char e irlos mostrando en la etiqueta.
Para modo consola sería casi lo mismo nada más que utilizarías el Console.ReadLine para leer el texto a transformar al revés y por último desplégalo en un Console.WriteLine mediante otra variable en lugar de la etiqueta.