Programas básicos en CSharp con Mono

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

6 comentario en este artículoDeje el suyo
  1. buena enontre lo que nesecitaba .- y me va a servir de mucho .- necesito ejemplo de un sistema bancario .- “retirar dinero de un cajero automatico”

  2. bueno en verdad me agradan mucho los problemas pero necesito un poco mas de ejrcicios para resolver ejercicios tipo operacion combinada

  3. Hola, tengo ubuntu 8.10 e instale mono, copie el codigo del programa de la suma y al momento de compilar aparece este mensaje

    suma.cs(14,18): error CS0103: The name `Int32′ does not exist in the current context
    suma.cs(15,18): error CS0103: The name `Int32′ does not exist in the current context

    cual puede ser el problema???

    gracias

  4. en lugar de Int32.Parse Intenta con int.Parse haber como te resulta

  5. tenes que agregarle System.Int32.Parse() asi te compila bien
    ejemplo:

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

  6. una consulta…. Compilando con mono, los ejecutables no depende de si un computador tiene framework.net?

1 mención a este artículo
Deje su comentario

Por favor, ingrese su nombre

Por favor, ingrese un correo-e válido

Por favor, ingrese su mensaje

luauf.com 2012

WordPress