Mono es el proyecto open source para crear aplicaciones en GNU/Linux, compatibles con C#. Básicamente, Mono lleva el Framework de .NET a plataformas no-windows.

Hace tiempo atrás había publicado algo acerca de MonoDevelop 1.0, un IDE para desarrollar en Mono en Linux.

En esta ocasión publicaré algunos ejemplos de aplicaciones de consola:

$ gedit hola.cs

class Hola
{
    static void Main (string[] args)
    {
        System.Console.WriteLine("Hola Mundo!");
    }
}

$ mcs hola.cs
$ mono hola.exe
Hola Mundo!

$gedit suma.cs

class Suma
{
   static void Main(string[] args) {

       string   primerNumero, segundoNumero;
       int  numero1, numero2, suma;

       System.Console.Write("Ingrese el primer n├║mero: ");
       primerNumero = System.Console.ReadLine();

       System.Console.Write("Ingrese el segundo n├║mero: ");
       segundoNumero = System.Console.ReadLine();

       numero1 = Int32.Parse(primerNumero);
       numero2 = Int32.Parse(segundoNumero);
       suma = numero1 + numero2;

       System.Console.WriteLine("El resutado de la suma es {0}",suma);
   }
}

$ mcs suma.cs
$ mono suma.exe
Ingrese el primer numero: 10
Ingrese el segundo numero: 11
El resutado de la suma es 21

$ gedit if.sc

class If
{
    static void Main(string[] args)
    {
        int numero1,numero2;

        System.Console.Write("Ingrese el primer numero: ");
    numero1 = Int32.Parse(System.Console.ReadLine());

    System.Console.Write("Ingrese el segundo numero:");
    numero2 = Int32.Parse(System.Console.ReadLine());

    if( numero1 == numero2 )
        System.Console.WriteLine( numero1 + " == " + numero2);
    if( numero1 != numero2 )
        System.Console.WriteLine( numero1 + " != " + numero2);
    if( numero1 <numero2 )
        System.Console.WriteLine( numero1 + " <" + numero2);
    if( numero1> numero2 )
        System.Console.WriteLine( numero1 + "> " + numero2);
    if( numero1 <= numero2 )
        System.Console.WriteLine( numero1 + " <= " + numero2);
    if( numero1>= numero2 )
        System.Console.WriteLine( numero1 + ">= " + numero2);
}

$ mcs if.cs
$ mono if.exe
Ingrese el primer numero: 10
Ingrese el segundo numero:11
10 != 11
10 <11
10 <= 11

$ gedit capicua.cs

class Programa
{
    static void Main(string[] args)
    {
        System.Console.Write("Ingrese una palabra: ");

        string palabra = System.Console.ReadLine();

        string invertida = invertir(palabra);

        if(palabra.Equals(invertida))
            System.Console.WriteLine("La palabra es Capicua");
        else
            System.Console.WriteLine("La palabra NO es Capicua");
    }

    private static string invertir(string cadena)
    {
        string invertido = "";

        for (int i = cadena.Length-1; i>= 0; i--)
            invertido = invertido + cadena.Substring(i, 1);

        return invertido;
    }
}

$ mcs capicua.cs
$ mono capicua.exe
Ingrese una palabra: menem
La palabra es Capicua

Descargar ejemplos aquí. Cabe destacar además, que estos ejemplos compilados, pueden correr en tanto en Windows como en Linux.

Vía: Casidiablo