La sintaxis de C# es muy similar a JAVA, C, C++ y Delphi.Cabe decir que C# fue creado especialmente para .NET. Debido a que C# es orientado a objetos y componentes, requiere que las aplicaciones programadas en él estén definidas mediante clases.
Para que el compilador interprete el código que hemos escrito, existen una serie de palabras que tienen un significado especial para éste (keywords). Son las siguientes:
Para ver este enlace Registrate o Inicia SesionUn identificador es un nombre que nos servirá para referenciar a "algo", como por ejemplo un método, variable, clase, etc. Hay una serie de normas a la hora de escribirlos, como que deben empezar por una letra o el carácter de subrayado ("_") y nunca por un número. A continuación puede ser cualquiera de los tres carácteres comentados: número, letra o el carácter de subrayado. Algunos ejemplos serían: cliente, _servidor...
Los identificadore
s no pueden ser las palabras clave de la tabla (en minúsculas, claro), y en caso de utilizarlo con mayúsculas es recomendable utilizar doble subrayado antes. Por ejemplo: __for.
Como ya dijimos, C# distingue de las mayúsculas y las minúsculas, por lo que el identificador cliente es distinto de Cliente. Es recomendable no utilizar identificadore
s iguales.
Los caracteres espacio en blanco, tabulador horizontal, tabulador vertical, avance de línea y nueva línea, son caracteres denominados espacios en blanco, porque la labor que despempeñan es la misma que la del espacioen blanco: actuar como sepradores entere los elmentos de un programa, lo cual permite escribir programas más legibles. Por ejemplo, este código:
main() { Console.Write ("Ya llegó la nueva clase"); }
sería lo mismo que:
main()
{
Console.Write ("Ya llegó la nueva clase");
}
Los espacios en blanco en exceso son ignorados por el compilador. Según esto, el siguente código sería el mismo al anterior:
main()
{
Console.Write ("Ya llegó la nueva clase");
}
Las expresiones en C# están formadas por operadores y operandos. Los operadores indican que operación se debe realizar con los operandos. En el caso de que haya varios operadores, se sigue un orden establecido
He recogido en esta tabla todos los operadores de C# ordenados por orden de preferencia:
Dentro de poco se detallarán como usar cada uno correctamente.
Una sentencia completa también es llamada statement (en inglés ), y como ya dijimos, siempre termina con punto y coma (; ).
Se podría decir que un statement es la unidad básica de ejecución de C# y que el conjunto de estas forman nuestro programa.
Un statement puede ser de muchos tipos: declaracción de una variable, expresiones, sentencias de control, etc.
Como ya se comentó, creo recordar, se pueden agrupar mediante bloques {...}. Un ejemplo:
Console.Title = "Clase 4"; // Una sentencia, por ejemplo
{
Console.ForegroundColor = ConsoleColor.GreenLime;
Console.BackgroundColor = ConsoleColor.Black;
/*
Un conjunto de statements
recogidos en un bloque.
*/
}
Una variable representa un determinado espacio en la memoria que almacena un valor determinado de un tipo predeterminado
. Queremos reservar un espacio de memoria con el nombre de un alumno, éste es una cadena alfanumérica, por lo tanto el tipo será string (ahora veremos los tipos). Para definir una variable habría que escribir el tipo seguido del identificador:
string Alumno;
Veamos un ejemplo:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Clase4
{
class Ejemplo1
{
static void Main(string[] args)
{
string Alumno;
Alumno = "CHR0N05";
Console.Write("Hola {0}",Alumno);
Alumno = "Rakzo-Fimbres";
Console.WriteLine("Hola {0}",Alumno);
Console.ReadKey(true);
}
}
}
Por definición, una variable declarada dentro de un bloque es accesible sólo dentro de ese bloque. Más adelante, cuando tratemos con objetos, matizaremos este concepto de accesibilidad.
Según esto, la variable Alumno sólo es accesible desde el método Main de la clase Ejemplo1. En este caso, decimos que la variable Alumno es local al bloque donde ha sido declarada. Una variable local se crea cuando se ejecuta la sentencia donde se declara y se destruye cuando finaliza la ejecución del bloque.
En C#, se puede , o mejor dicho, se debe inicializar la variable con un valor en el momento de declararla, ya que el compilador de C# no lo hace y esto puede causar problemas y confusión en nuestra aplicación:
string Alumno = "k1dogy";
Estos son los principales tipos en C#:
Como podéis observar, todos los tipos numéricos tienen un rango diferente de valores positivos y negativos, exceptuando el valor bool que sólo tiene dos valores: true o false.
También C# añade a los anteriores otros tipos enteros, pero esta vez sin signo, es decir, su rango será sólo entre números positivos: ushort, uint y ulong.
Entre los tipos float, double y decimal, quiero realizar una pequeña matización a la hora de asignarles un valor.
Si queremos asignar un valor float a una variable de este mismo tipo, deberá seguir la final de dicho valor la letra 'f' ó 'F':
float Numero = 3.141592F;
Si es decimal, por 'm' ó 'M':
decimal Numero = 12.3458712358M;
Y double sin nada, por lo que si en los anteriores no se especifica el valor con la letra, el compilador lo entenderá como double:
double Numero = 1.27369;
El tipo char es utilizado para declarar datos enteros en el rango 0 a 65535. Los valores 0 a 127 corresponden con los caracteres ASCII del mismo código. El juego de caracteres ASCII conforma una parte muy pequeña del juego de caracteres UNICODE utilizado por C# para representar los caracteres. UNICODE es un código de 16 bits (valores de 0 a 65535), esto es, cada carácter ocupa 2 bytes, con el único propósito de internacionali
zar el lenguaje.
Aquí un ejemplo de como asignar un caracter a una variable del tipo char, entre comillas simples, ya que si no el compilador lo interpretaría como la variable llamada A:
char caracter = 'A';
char caracter = (char)65; // Ya veremos más adelante las conversiones entre tipos. La 'A' es el decimal 65
Si queremos declarar varias variables del mismo tipo, en vez de escribir cada declaración en una línea, podemos juntarlas en una sola:
char caracter1, caracter2, caracter3;
La finalidad de nuestras aplicaciones es procesar datos núméricos y cadenas de caracteres para obtener el resultado. Estos datos normalmente se encuentran almacenados en las variables, al igual que el resultado. A través de los métodos proporcionados por las clases de la biblioteca de C#, o bien utiliando una sentencia de asignación, podremos almacenar el resultado en nuestra variable:
variable operadordeasig
nacion valor
Una sentencia de asignación es asimétrica, es decir, que se evalúa la expresión que está a la derecha del operador de asignación y el resultado se asignará a la variable de la izquierda.
El primer operador que veremos será el igual, con el cual asignamos un valor a nuestra variable. Un ejemplo:
resultado = valor1;
Por lo tanto, el contenido de la variable valor1 será asignado a la variable resultado, y no al revés.
Mientras que los datos numéricos son almacenados, como hemos visto, en variables de alguno de los tipos de valores comentados, las cadenas de caracteres se almacenarán en objetos de la calse string o en matrices del tipo char, cuyo contenido lo veremos próximamente. Aun así, veamos un ejemplo (como podréis observar ahora no utilizamos comillas simples, si no dobles):
string cadena;
cadena = "Mace Windu"; // Esto se podría escribir también así: string cadena = "Mace Windu";
En la clase anterior vimos como mostrar datos por la pantalla con System.Console
.WriteLine, pero, ¿y sí queremos mostrar el valor de una variable por la pantalla?
Hay varias formas. La primera es la más simple, y consiste en utilizar el operador + para unir las cadenas y las variables en una sóla. Ejemplo:
string tutor = "Mace Windu";
System.Console.WriteLine("El nombre de mi tutor es: " + tutor);
Otra forma que también existe, y que es igual para cualquier lenguaje que utilice la biblioteca de clases .NET, y el que me veréis utilizar a mí, consiste en encerrar entre corchetes en la propia cadena de caracteres el numero de la posicion de la variable empezando desde 0. Si es la primera vez puede resultar algo lioso, mejor veamos un ejemplo:
string tutor = "Mace Windu", team = "FoS TeaM";
System.Console.WriteLine("Mi tutor se llama {0} y pertene a {1}",tutor,team);
Salu2