sábado, 14 de septiembre de 2013

Programando en C# ... no.1

El lenguaje C# es una respuesta al popular lenguaje de programación Java por parte de Microsoft, es bastante similar (algunos dicen es una "copia exacta" a Java).

Hola mundo en Java
System.out.println("¡Hola, mundo en Java!");

Hola mundo en C#
Console.WriteLine("¡Hola, mundo en C#!");

Los archivos deben tener la extensión *.cs, puedes usar MonoDevelop, SharpDevelop o Visual Studio para programar en C#.

using System;

namespace Codemonkey.cs
{
class Program
{
public static void Main(string[] args)
{
                   // AQUÍ COLOCAS EL CÓDIGO
}
}
}

Si ya haz usado Java la sintaxis te parecerá muy familiar.

1. Creando una clase llamada "Persona"
using System;

namespace Codemonkey.cs
{
//aquí inicia la clase Persona
class Persona{
string nombre;
int edad;

public Persona(){}

public void SetNombre(string n){
nombre=n;
}

public void SetEdad(int d){
edad=d;
}

public int GetEdad(){
return edad;
}

public string GetNombre(){
return nombre;
}

}//aquí termina la clase Persona
class Program
{
public static void Main(string[] args)
{

Persona persona=new Persona();
persona.SetNombre("Antonio");
persona.SetEdad(28);

Console.WriteLine("nombre: "+persona.GetNombre()+" , edad: "+persona.GetEdad());
Console.Write("Presiona una tecla para continuar . . . ");
                Console.ReadKey(true);
       }
    }
}

El código resulta muy familiar y fácil de entender a los que ya han usado Java.

2. Introducir datos, los tipos de datos son prácticamente iguales a Java.
using System;

namespace Codemonkey.cs
{

class Program
{
public static void Main(string[] args)
{

 float flotante;
 int entero;
 double real;
 string cadena;
 char car;

 Console.WriteLine("Introduce un numero flotante: ");
 flotante=float.Parse(Console.ReadLine());
 Console.WriteLine("Introduce un numero entero: ");
 entero=int.Parse(Console.ReadLine());
 Console.WriteLine("Introduce un numero real: ");
 real=double.Parse(Console.ReadLine());
 Console.WriteLine("Introduce una cadena: ");
 cadena=Console.ReadLine();
 Console.WriteLine("Introduce un caracter: ");
 car= char.Parse(Console.ReadLine());

 Console.WriteLine("entero: "+entero);
 Console.WriteLine("flotante: "+flotante);
 Console.WriteLine("real: "+real);
 Console.WriteLine("cadena: "+cadena);
 Console.WriteLine("caracter: "+car);
 Console.Write("Presiona una tecla para continuar . . . ");
  Console.ReadKey(true);
       }
    }
}

3. Usando constantes
using System;

namespace Codemonkey.cs
{
class Prueba{
                //se define la constante "TAM"
public const int TAM=10;
               //en Java sería
              //public static final int TAM=10;
}

class Program
{
public static void Main(string[] args)
{
int tam=Prueba.TAM;

for(int i=0;i<tam;i++){
Console.WriteLine("valor de i: "+i);
}

Console.Write("Presiona una tecla para continuar . . . ");
               Console.ReadKey(true);

   }
}
}

4. Comparar dos cadenas
using System;

namespace Codemonkey.cs
{


class Program
{
public static void Main(string[] args)
{
string cad1="Yo programo en Java";
           string cad2="Yo prefiero usar C#";
         
          //en Java podríamos usar el método cad1.equals(cad2);
           if(cad1==cad2){
            Console.WriteLine("son idénticas las cadenas");
           }else{
            Console.WriteLine("NO son idénticas las cadenas");
           }

Console.Write("Presiona una tecla para continuar . . . ");
       Console.ReadKey(true);

   }
}
}  


Links
http://eqcode.com/wiki/CSharp
http://msdn.microsoft.com/es-es/library/67ef8sbd(v=vs.90).aspx

1 comentario:

  1. En la clase Persona, se puede omitir los métodos Set y Get por esto:

    public string Nombre{
    get; set;
    }

    Gracias por el tip.

    ResponderEliminar