QUE ES C#?
C# (pronunciado "si sharp" en inglés y "c sostenido" o "c almohadilla" o "cesar" en español) es un lenguaje de programación orientado a objetos desarrollado y estandarizado por Microsoft como parte de su plataforma .NET, que después fue aprobado como un estándar por la ECMA e ISO. Aunque C# forma parte de la plataforma.NET, ésta es una interfaz de programación de aplicaciones (API); mientras que C# es un lenguaje de programación independiente diseñado para generar programas sobre dicha plataforma.
C# (pronunciado "si sharp" en inglés y "c sostenido" o "c almohadilla" o "cesar" en español) es un lenguaje de programación orientado a objetos desarrollado y estandarizado por Microsoft como parte de su plataforma .NET, que después fue aprobado como un estándar por la ECMA e ISO. Aunque C# forma parte de la plataforma.NET, ésta es una interfaz de programación de aplicaciones (API); mientras que C# es un lenguaje de programación independiente diseñado para generar programas sobre dicha plataforma.
CARACTERISTICAS PRINCIPALES:
Sencillez: C# elimina muchos elementos que otros lenguajes incluyen y que son innecesarios en .NET. Por ejemplo:
*Modernidad: C# incorpora en el propio lenguaje elementos que a lo largo de los años ha ido demostrándose son muy útiles para el desarrollo de aplicaciones y que en otros lenguajes como Java o C++ hay que simular, como un tipo básico decimal que permita realizar operaciones de alta precisión con reales de 128 bits (muy útil en el mundo financiero), la inclusión de una instrucción foreach que permita recorrer colecciones con facilidad y es ampliable a tipos definidos por el usuario, la inclusión de un tipo básico string para representar cadenas o la distinción de un tipo bool específico para representar valores lógicos.
*Orientación a objetos: Como todo lenguaje de programación de propósito general actual, C# es un lenguaje orientado a objetos, aunque eso es más bien una característica del CTS que de C#. Una diferencia de este enfoque orientado a objetos respecto al de otros lenguajes como C++ es que el de C# es más puro en tanto que no admiten ni funciones ni variables globales sino que todo el código y datos han de definirse dentro de definiciones de tipos de datos, lo que reduce problemas por conflictos de nombres y facilita la legibilidad del código.
*Orientación a componentes: La propia sintaxis de C# incluye elementos propios del diseño de componentes que otros lenguajes tienen que simular mediante construcciones más o menos complejas. Es decir, la sintaxis de C# permite definir cómodamente propiedades (similares a campos de acceso controlado), eventos (asociación controlada de funciones de respuesta a notificaciones) o atributos (información sobre un tipo o sus miembros)
*Seguridad de tipos: C# incluye mecanismos que permiten asegurar que los accesos a tipos de datos siempre se realicen correctamente, lo que permite evita que se produzcan errores difíciles de detectar por acceso a memoria no perteneciente a ningún objeto y es especialmente necesario en un entorno gestionado por un recolector de basura. Para ello se toman medidas del tipo:
*Sistema de tipos unificado: A diferencia de C++, en C# todos los tipos de datos que se definan siempre derivarán, aunque sea de manera implícita, de una clase base común llamada System.Object, por lo que dispondrán de todos los miembros definidos en ésta clase (es decir, serán “objetos”)
*Eficiente: En principio, en C# todo el código incluye numerosas restricciones para asegurar su seguridad y no permite el uso de punteros. Sin embargo, y a diferencia de Java, en C# es posible saltarse dichas restricciones manipulando objetos a través de punteros. Para ello basta marcar regiones de código como inseguras (modificador unsafe) y podrán usarse en ellas punteros de forma similar a cómo se hace en C++, lo que puede resultar vital para situaciones donde se necesite una eficiencia y velocidad procesamiento muy grandes.
*Compatible: Para facilitar la migración de programadores, C# no sólo mantiene una sintaxis muy similar a C, C++ o Java que permite incluir directamente en código escrito en C# fragmentos de código escrito en estos lenguajes, sino que el CLR también ofrece, a través de los llamados Platform Invocation Services (PInvoke), la posibilidad de acceder a código nativo escrito como funciones sueltas no orientadas a objetos tales como las DLLs de la API Win32. Nótese que la capacidad de usar punteros en código inseguro permite que se pueda acceder con facilidad a este tipo de funciones, ya que éstas muchas veces esperan recibir o devuelven punteros.
CREACION DE UN PROGRAMA EN C#

En nuestro primer programa vamos hacer el típico ejemplo Hola Mundo, para empezar inicie su Visual C# por defecto le aparecerá la página de inicio (Start Page), en la figura 1 se puede ver una descripción breve de la funcionalidad de cada panel de esta página.
Para crear un nuevo proyecto haga clic en Project… el cual se encuentra en el primer panel de la página de inicio en la opción Create, o bien puede ir al menú File y a continuación elija New Project.

Una vez realizada la operación anterior aparecerá un cuadro de diálogo como el que se muestra en la figura 2 el cual le permite crear varios tipos de proyectos. Elija Console Application y escriba como nombre del proyecto HolaMundo y por último haga clic en el botón OK.
Al presionar en el botón OK, se crea la solución del proyecto con un conjunto de archivos por defecto, estos archivos se pueden ver en la ventana Solution Explorer ubicada por defecto a la derecha. Si no puede ver la ventana Solution Explorer, para habilitarla vaya al menú View y elija Solution Explorer.
Esta ventana tendrá un aspecto como el de la figura 3 
En la ventana Solution Explorer se puede observar los siguientes archivos del proyecto: AssemblyInfo.cs el cual nos permite configurar algunas características generales del proyecto (como la versión, cultura, fabricante, descripción del ensamblado, etc.) y también se tiene el archivo Program.cs en éste se encuentra el código fuente de nuestra aplicación consola. Otra sección que se observa es la de References el cual contiene las referencias de las bibliotecas de clases que estamos usando ya sea del .NET Framework u otra externa.
La utilidad de la ventana Solution Explorer es proporcionarnos una vista de toda la estructura de nuestra aplicación, básicamente para acceder fácilmente a cada archivo del proyecto y trabajar con él. Si no está abierto el archivo Program.cs ábralo haciendo doble clic en él y se mostrará en el editor de código lo siguiente:
using System;

En la ventana Solution Explorer se puede observar los siguientes archivos del proyecto: AssemblyInfo.cs el cual nos permite configurar algunas características generales del proyecto (como la versión, cultura, fabricante, descripción del ensamblado, etc.) y también se tiene el archivo Program.cs en éste se encuentra el código fuente de nuestra aplicación consola. Otra sección que se observa es la de References el cual contiene las referencias de las bibliotecas de clases que estamos usando ya sea del .NET Framework u otra externa.
La utilidad de la ventana Solution Explorer es proporcionarnos una vista de toda la estructura de nuestra aplicación, básicamente para acceder fácilmente a cada archivo del proyecto y trabajar con él. Si no está abierto el archivo Program.cs ábralo haciendo doble clic en él y se mostrará en el editor de código lo siguiente:
using System;
using System.Collections.Generic;
using System.Text;
namespace HolaMundo
namespace HolaMundo
{
class Program
{
static void Main(string[] args) {}
}
}
}
Como se puede observar tiene las dos características básicas de un programa de C#, una clase y un punto de inicio dado por el método Main. En este caso el generador de código del IDE de Visual C# (Entorno de Desarrollo Integrado de Visual C#) nos creó todo ese código, el cual contiene el esqueleto básico de nuestro programa.
En las primeras tres líneas del código se puede observar la palabra reservada using, la cual permite habilitar el uso de bibliotecas de clases, en este caso se coloca el espacio de nombre de la biblioteca de clase que necesitemos utilizar, en este programa por defecto están: System, System.Collections.Generic y System.Text. Otros ejemplos de espacios de nombre son: para trabajar con seguridad System.Security, para trabajar con datos System.Data, para trabajar con hilos System.Threading, etc.
Luego de las primeras tres líneas del código anterior se ve la definición de un namespace (espacio de nombre) propio para nuestro programa llamado HolaMundo, y dentro de éste se encuentra la definición de la clase y del método Main.
Para escribir el mensaje “Hola Mundo” utilizamos la siguiente instrucción:
Console.Write("Hola Mundo");
El método Write nos permite escribir un mensaje en pantalla, el mensaje está entre comillas dobles porque se trata de una cadena y por último la instrucción finaliza con un punto y coma, ya que es una regla de sintaxis de C# que dice que todas las instrucciones deben terminar con un punto y coma.
Al comienzo de la instrucción anterior se observa la palabra Console, esta se coloca allí porque es el espacio de nombre de donde proviene el método Write que a su vez se encuentra dentro del namespace System, que se declaró en la primera línea. Si no hubiéramos hecho esa declaración tendríamos que incluir la palabra System en la instrucción ya que es el namespace raíz de donde se encuentra el método Write, así como se muestra a continuación.
System.Console.Write("Hola Mundo");
Entonces el código de nuestra aplicación quedaría:
using System;
Como se puede observar tiene las dos características básicas de un programa de C#, una clase y un punto de inicio dado por el método Main. En este caso el generador de código del IDE de Visual C# (Entorno de Desarrollo Integrado de Visual C#) nos creó todo ese código, el cual contiene el esqueleto básico de nuestro programa.
En las primeras tres líneas del código se puede observar la palabra reservada using, la cual permite habilitar el uso de bibliotecas de clases, en este caso se coloca el espacio de nombre de la biblioteca de clase que necesitemos utilizar, en este programa por defecto están: System, System.Collections.Generic y System.Text. Otros ejemplos de espacios de nombre son: para trabajar con seguridad System.Security, para trabajar con datos System.Data, para trabajar con hilos System.Threading, etc.
Luego de las primeras tres líneas del código anterior se ve la definición de un namespace (espacio de nombre) propio para nuestro programa llamado HolaMundo, y dentro de éste se encuentra la definición de la clase y del método Main.
Para escribir el mensaje “Hola Mundo” utilizamos la siguiente instrucción:
Console.Write("Hola Mundo");
El método Write nos permite escribir un mensaje en pantalla, el mensaje está entre comillas dobles porque se trata de una cadena y por último la instrucción finaliza con un punto y coma, ya que es una regla de sintaxis de C# que dice que todas las instrucciones deben terminar con un punto y coma.
Al comienzo de la instrucción anterior se observa la palabra Console, esta se coloca allí porque es el espacio de nombre de donde proviene el método Write que a su vez se encuentra dentro del namespace System, que se declaró en la primera línea. Si no hubiéramos hecho esa declaración tendríamos que incluir la palabra System en la instrucción ya que es el namespace raíz de donde se encuentra el método Write, así como se muestra a continuación.
System.Console.Write("Hola Mundo");
Entonces el código de nuestra aplicación quedaría:
using System;
using System.Collections.Generic;
using System.Text;
namespace HolaMundo
namespace HolaMundo
{
class Program
{
static void Main(string[] args)
{
Console.Write("Hola Mundo");
}
}
}
PARA GUARDAR UN PROGRAMA
Para guardar el proyecto haga clic en el icono Save All (Guardar Todo) d
e la barra de herramientas como se muestra en la figura 4 o bien vaya al menú File y elija Save All, si es la primera vez que guarda el proyecto le aparecerá un cuadro de diálogo donde podrá escoger la ruta o lugar para almacenar el proyecto, por último haga clic en el botón Save.PARA COMPILAR Y EJECUTAR EL PROGRAMA:Para ejecutar el programa presione la tecla F5 o vaya al menú Debug y elija Start Debugging. Al ejecutarse el programa vemos que aparece la ventana de la consola pero rápidamente se vuelve a cerrar, esto sucede porque no hemos colocado ninguna instrucción que nos permita hacer una pausa antes de la finalización de la aplicación. Para solucionar lo anterior escribimos la siguiente instrucción:
Console.Read();
Esta función hace una parada para leer un carácter de la consola, lo que detendrá la ejecución y así podremos ver el mensaje antes que se cierre el programa.
Entonces el código final de nuestro primer ejemplo quedaría de la siguiente forma:
using System;using System.Collections.Generic;using System.Text;

namespace HolaMundo
{
class Program { static void Main(string[] args)
{
Console.Write("Hola Mundo"); Console.Read();
}
}
}
Para ejecutar el programa nuevamente presione F5 y tendrá como resultado la Figura
5
Para ejecutar el programa nuevamente presione F5 y tendrá como resultado la Figura
5

No hay comentarios:
Publicar un comentario