Curso de C #
Creado por:
Prof. Bassam Asfur
Adaptado por
Prof. Víctor Acosta
• C# (leído en inglés “C Sharp” y en español “C Almohadilla”) es
un lenguaje de propósito general diseñado por Microsoft
para su plataforma .NET.
• Sus principales creadores son Scott Wiltamuth y Anders
Hejlsberg, éste último también conocido por haber sido el
diseñador del lenguaje Turbo Pascal y la herramienta RAD
Delphi.
• Aunque es posible escribir código para la plataforma .NET en
muchos otros lenguajes, C# es el único que ha sido diseñado
específicamente para ser utilizado en ella
• C# es mucho más sencillo e intuitivo que hacerlo con
cualquiera de los otros lenguajes ya que C# carece de
elementos heredados innecesarios en .NET.
• Se suele decir que C# es el lenguaje nativo de .NET
• La sintaxis y estructuración de C# es muy similar a la C++,
ya que la intención de Microsoft con C# es facilitar la
migración de códigos escritos en estos lenguajes a C# y
facilitar su aprendizaje a los desarrolladores habituados a
ellos.
• La sencillez y el alto nivel de productividad de C# son
equiparables a los de Visual Basic.
En resumen, C# es un lenguaje de programación que toma
las mejores características de lenguajes preexistentes como
Visual Basic, Java o C++ y las combina en uno solo.
Características de C#
• Sencillez: C# elimina muchos elementos que otros lenguajes incluyen y
que son innecesarios en .NET
• Orientación a objetos: Como todo lenguaje de programación de
propósito general actual, C# es un lenguaje orientado a objetos
• 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
• Gestión automática de memoria: todo lenguaje de .NET tiene a su
disposición el recolector de basura del CLR. Esto tiene el efecto en el
lenguaje de que no es necesario incluir instrucciones de destrucción de
objetos.
• Instrucciones seguras: Para evitar errores muy comunes, en C# se han
impuesto una serie de restricciones en el uso de las instrucciones de
control más comunes.
• Básicamente una aplicación en C# puede verse como un
conjunto de uno o más ficheros de código fuente con las
instrucciones necesarias para que la aplicación funcione
como se desea y que son pasados al compilador para que
genere un ejecutable.
• Cada uno de estos ficheros no es más que un fichero de
texto plano escrito usando caracteres Unicode y
siguiendo la sintaxis propia de C#.
Como primer contacto con el lenguaje, nada mejor que el típico
programa de iniciación “¡Hola Mundo!” que lo único que hace al
ejecutarse es mostrar por pantalla el mensaje ¡Hola Mundo! Su
código es:
1: using System;
2: namespace inicial
3: {
4: class HolaMundo
5: {
6: static void Main(string[] args)
7: {
8: Console.WriteLine(“¡Hola Mundo!”);
9: }
10: }
11: }
1: using System; (La directiva nos permitirá usar miembros de este
espacio de nombres sin poner la palabra Systen
delante. Sin esto la línea 8 sería
System.Console.WriteLine (“¡Hola Mundo!”); )
2: namespace inicial
3: { Espacio de nombres: constituye una forma lógica de
organizar y estructurar nuestro código de forma que
podamos organizar la funcionalidad con un determinado
sentido semántico. Sus llaves van en la línea 3 y cierra en la
11
Todo el código escrito en C# se ha de escribir dentro de una
definición de clase
4: class HolaMundo (Se dice es que se va a definir una clase (class) de
nombre HolaMundo1 cuya definición estará
comprendida entre la llave de la línea 5 a la 10)
5: {
6: static void Main(string[] args) (El punto de entrada de
una aplicación es un método de nombre Main
que contendrá el código por donde se ha de
iniciar la ejecución de la misma entre llaves 7 a la 9 ).
7: { …
• Todas sus posibles versiones de Main son:
static void Main()
static int Main()
static int Main(string[] args)
static void Main(string[] args)
• Como se ve, hay versiones de Main() que devuelven un valor de tipo
int.
• Un int no es más que un tipo de datos capaz de almacenar valor
enteros comprendidos entre –2.1471483.648 y 2.1471483.647, y el
número devuelto por Main() sería interpretado como código de
retorno de la aplicación.
• Éste valor suele usarse para indicar si la aplicación a terminado con
éxito (generalmente valor 0) o no (valor según la causa de la
terminación anormal).
Conceptos de clase y objeto
• C# es un lenguaje orientado a objetos puro, lo que significa que
todo con lo que vamos a trabajar en este lenguaje son objetos.
• Un objeto es un agregado de datos y de métodos que permiten
manipular dichos datos, y un programa en C# no es más que un
conjunto de objetos que interaccionan unos con otros a través
de sus métodos.
• Una clase es la definición de las características concretas de un
determinado tipo de objetos. Es decir, de cuáles son los datos y
los métodos de los que van a disponer todos los objetos de ese
tipo.
• Por esta razón, se suele decir que el tipo de dato de un objeto
es la clase que define las características del mismo.
8: Console.WriteLine(“¡Hola Mundo!”);
(Escribe los datos especificados, seguidos del terminador de línea
actual, en el flujo de salida estándar).
Console: Es una clase que no existe en el espacio de nombrs
global, sino en el espacio de nombre system
Write: Es un método de la clase Consola, que sirve para imprimir
en la pantalla el mensaje que deseamos (“¡Hola Mundo!”)
9: } // cierra el main
10: } // cierra el claa
11: } // cierra el numespace

Introducción al c#

  • 1.
    Curso de C# Creado por: Prof. Bassam Asfur Adaptado por Prof. Víctor Acosta
  • 2.
    • C# (leídoen inglés “C Sharp” y en español “C Almohadilla”) es un lenguaje de propósito general diseñado por Microsoft para su plataforma .NET. • Sus principales creadores son Scott Wiltamuth y Anders Hejlsberg, éste último también conocido por haber sido el diseñador del lenguaje Turbo Pascal y la herramienta RAD Delphi. • Aunque es posible escribir código para la plataforma .NET en muchos otros lenguajes, C# es el único que ha sido diseñado específicamente para ser utilizado en ella • C# es mucho más sencillo e intuitivo que hacerlo con cualquiera de los otros lenguajes ya que C# carece de elementos heredados innecesarios en .NET.
  • 3.
    • Se sueledecir que C# es el lenguaje nativo de .NET • La sintaxis y estructuración de C# es muy similar a la C++, ya que la intención de Microsoft con C# es facilitar la migración de códigos escritos en estos lenguajes a C# y facilitar su aprendizaje a los desarrolladores habituados a ellos. • La sencillez y el alto nivel de productividad de C# son equiparables a los de Visual Basic. En resumen, C# es un lenguaje de programación que toma las mejores características de lenguajes preexistentes como Visual Basic, Java o C++ y las combina en uno solo.
  • 4.
    Características de C# •Sencillez: C# elimina muchos elementos que otros lenguajes incluyen y que son innecesarios en .NET • Orientación a objetos: Como todo lenguaje de programación de propósito general actual, C# es un lenguaje orientado a objetos • 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 • Gestión automática de memoria: todo lenguaje de .NET tiene a su disposición el recolector de basura del CLR. Esto tiene el efecto en el lenguaje de que no es necesario incluir instrucciones de destrucción de objetos. • Instrucciones seguras: Para evitar errores muy comunes, en C# se han impuesto una serie de restricciones en el uso de las instrucciones de control más comunes.
  • 5.
    • Básicamente unaaplicación en C# puede verse como un conjunto de uno o más ficheros de código fuente con las instrucciones necesarias para que la aplicación funcione como se desea y que son pasados al compilador para que genere un ejecutable. • Cada uno de estos ficheros no es más que un fichero de texto plano escrito usando caracteres Unicode y siguiendo la sintaxis propia de C#.
  • 6.
    Como primer contactocon el lenguaje, nada mejor que el típico programa de iniciación “¡Hola Mundo!” que lo único que hace al ejecutarse es mostrar por pantalla el mensaje ¡Hola Mundo! Su código es: 1: using System; 2: namespace inicial 3: { 4: class HolaMundo 5: { 6: static void Main(string[] args) 7: { 8: Console.WriteLine(“¡Hola Mundo!”); 9: } 10: } 11: }
  • 7.
    1: using System;(La directiva nos permitirá usar miembros de este espacio de nombres sin poner la palabra Systen delante. Sin esto la línea 8 sería System.Console.WriteLine (“¡Hola Mundo!”); ) 2: namespace inicial 3: { Espacio de nombres: constituye una forma lógica de organizar y estructurar nuestro código de forma que podamos organizar la funcionalidad con un determinado sentido semántico. Sus llaves van en la línea 3 y cierra en la 11
  • 8.
    Todo el códigoescrito en C# se ha de escribir dentro de una definición de clase 4: class HolaMundo (Se dice es que se va a definir una clase (class) de nombre HolaMundo1 cuya definición estará comprendida entre la llave de la línea 5 a la 10) 5: { 6: static void Main(string[] args) (El punto de entrada de una aplicación es un método de nombre Main que contendrá el código por donde se ha de iniciar la ejecución de la misma entre llaves 7 a la 9 ). 7: { …
  • 9.
    • Todas susposibles versiones de Main son: static void Main() static int Main() static int Main(string[] args) static void Main(string[] args) • Como se ve, hay versiones de Main() que devuelven un valor de tipo int. • Un int no es más que un tipo de datos capaz de almacenar valor enteros comprendidos entre –2.1471483.648 y 2.1471483.647, y el número devuelto por Main() sería interpretado como código de retorno de la aplicación. • Éste valor suele usarse para indicar si la aplicación a terminado con éxito (generalmente valor 0) o no (valor según la causa de la terminación anormal).
  • 10.
    Conceptos de clasey objeto • C# es un lenguaje orientado a objetos puro, lo que significa que todo con lo que vamos a trabajar en este lenguaje son objetos. • Un objeto es un agregado de datos y de métodos que permiten manipular dichos datos, y un programa en C# no es más que un conjunto de objetos que interaccionan unos con otros a través de sus métodos. • Una clase es la definición de las características concretas de un determinado tipo de objetos. Es decir, de cuáles son los datos y los métodos de los que van a disponer todos los objetos de ese tipo. • Por esta razón, se suele decir que el tipo de dato de un objeto es la clase que define las características del mismo.
  • 11.
    8: Console.WriteLine(“¡Hola Mundo!”); (Escribelos datos especificados, seguidos del terminador de línea actual, en el flujo de salida estándar). Console: Es una clase que no existe en el espacio de nombrs global, sino en el espacio de nombre system Write: Es un método de la clase Consola, que sirve para imprimir en la pantalla el mensaje que deseamos (“¡Hola Mundo!”) 9: } // cierra el main 10: } // cierra el claa 11: } // cierra el numespace