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
En la clase Persona, se puede omitir los métodos Set y Get por esto:
ResponderEliminarpublic string Nombre{
get; set;
}
Gracias por el tip.