introducción a c# en visual studio
TRANSCRIPT
-
8/4/2019 Introduccin a C# en Visual Studio
1/36
Por:
Ivn Walkes
-
8/4/2019 Introduccin a C# en Visual Studio
2/36
Caractersticas Bsicas del leguaje C#
Elementos Bsicos del Lenguaje C#
Tipos de Datos
Operadores
Estructuras de Control
Creacin de Clases en C#
-
8/4/2019 Introduccin a C# en Visual Studio
3/36
C o Csharp es un lenguaje de programacin orientado aobjetos desarrollado y estandarizado por Microsoft comoparte de su plataforma .NET, que despus fue aprobadocomo un estndar por la ECMA e ISO.
Su sintaxis bsica deriva de C/C++ y utiliza el modelo de
objetos de la plataforma.NET, similar al de Java aunqueincluye mejoras derivadas de otros lenguajes (entreellosDelphi).
Aunque C forma parte de la plataforma.NET, sta esuna interfaz de programacin de aplicaciones (API), mientrasque C es un lenguaje de programacin independiente
diseado para generar programas sobre dicha plataforma. Yaexiste un compilador implementado que provee el marcode DotGNU - Mono que genera programas para distintasplataformas como Win32, UNIX y Linux.
-
8/4/2019 Introduccin a C# en Visual Studio
4/36
Sencillez: C# elimina muchos elementos que otroslenguajes incluyen y que son innecesarios en .NET.Por ejemplo: El cdigo escrito en C# es autocontenido, lo que significa
que no necesita de ficheros adicionales al propio fuentetales como ficheros de cabecera o ficheros IDL
El tamao de los tipos de datos bsicos es fijo eindependiente del compilador, sistema operativo omquina para quienes se compile (no como en C++), loque facilita la portabilidad del cdigo.
No se incluyen elementos poco tiles de lenguajes comoC++ tales como macros, herencia mltiple o la necesidadde un operador diferente del punto (.) acceder a miembrosde espacios de nombres (::)
-
8/4/2019 Introduccin a C# en Visual Studio
5/36
Modernidad: C# incorpora en el propio lenguajeelementos que a lo largo de los aos ha idodemostrndose son muy tiles para el desarrollode aplicaciones y que en otros lenguajes como
Java o C++ hay que simular, como un tipo bsicodecimal que permita realizar operaciones de altaprecisin con reales de 128 bits (muy til en elmundo financiero), la inclusin de una instruccinforeach que permita recorrer colecciones con
facilidad y es ampliable a tipos definidos por elusuario, la inclusin de un tipo bsico string pararepresentar cadenas o la distincin de un tipobool especfico para representar valores lgicos.
-
8/4/2019 Introduccin a C# en Visual Studio
6/36
Instrucciones seguras: Para evitar errores muycomunes, en C# se han impuesto una serie derestricciones en el uso de las instrucciones decontrol ms comunes. Por ejemplo, la guarda de
toda condicin ha de ser una expresincondicional y no aritmtica, con lo que se evitanerrores por confusin del operador de igualdad(==) con el de asignacin (=); y todo caso de unswitch ha de terminar en un break o goto que
indique cul es la siguiente accin a realizar, loque evita la ejecucin accidental de casos yfacilita su reordenacin.
-
8/4/2019 Introduccin a C# en Visual Studio
7/36
Eficiente: En principio, en C# todo el cdigoincluye numerosas restricciones para asegurar suseguridad y no permite el uso de punteros. Sinembargo, y a diferencia de Java, en C# es posible
saltarse dichas restricciones manipulando objetosa travs de punteros. Para ello basta marcarregiones de cdigo como inseguras (modificadorunsafe) y podrn usarse en ellas punteros deforma similar a cmo se hace en C++, lo que
puede resultar vital para situaciones donde senecesite una eficiencia y velocidad procesamientomuy grandes.
-
8/4/2019 Introduccin a C# en Visual Studio
8/36
Caractersticas Bsicas del leguaje C#
Elementos Bsicos del Lenguaje C#
Tipos de Datos
Operadores
Estructuras de Control
Creacin de Clases en C#
-
8/4/2019 Introduccin a C# en Visual Studio
9/36
-
8/4/2019 Introduccin a C# en Visual Studio
10/36
-
8/4/2019 Introduccin a C# en Visual Studio
11/36
Caractersticas Bsicas del leguaje C#
Elementos Bsicos del Lenguaje C#
Tipos de Datos
Operadores
Estructuras de Control
Creacin de Clases en C#
-
8/4/2019 Introduccin a C# en Visual Studio
12/36
C tiene cuatro clases generales deoperadores:
Aritmticos
A nivel de bit
Relacionales
Lgicos
-
8/4/2019 Introduccin a C# en Visual Studio
13/36
Los operadores aritmticos funcionan igualque en C y C++.
El resultado de los operadores relacionales y
lgicos es un valor bool.
Los operadores de cortocircuito evalan elsegundo operando solo cuando es necesario.
Los operadores a nivel de bit no se puedenaplicar a tipos bool, float, double o decimal.
-
8/4/2019 Introduccin a C# en Visual Studio
14/36
Operador Significado Tipo+ Suma Aritmtico
- Resta Aritmtico
* Producto Aritmtico/ Divisin Aritmtico
% Mdulo (residuo entero) Aritmtico
++ Incremento Aritmtico
-- Decremento Aritmtico
-
8/4/2019 Introduccin a C# en Visual Studio
15/36
Operador Significado Tipo== Igual que Relacional
!= Distinto de Relacional
> Mayor que Relacional
< Menor que Relacional
>= Mayor o igual que Relacional
-
8/4/2019 Introduccin a C# en Visual Studio
16/36
Operador Significado Tipo& AND Lgico y a nivel de bits
| OR Lgico y a nivel de bits
^ XOR y de nivel de bits Lgico
|| OR de cortocircuito Lgico
&& AND de cortocircuito Lgico
! NOT Lgico
~ Complemento a uno A nivel de bits
> Desplazamiento a la derecha A nivel de bits
-
8/4/2019 Introduccin a C# en Visual Studio
17/36
Caractersticas Bsicas del leguaje C#
Elementos Bsicos del Lenguaje C#
Tipos de Datos
Operadores
Estructuras de Control
Creacin de Clases en C#
-
8/4/2019 Introduccin a C# en Visual Studio
18/36
Las estructuras de control permiten modificar el flujo de ejecucinde las instrucciones de un programa.
Con las estructuras de control se puede: De acuerdo a una condicin, ejecutar un grupo u otro de sentencias (If-
Then-Else y Select-Case) Ejecutar un grupo de sentencias mientras exista una condicin (Do-
While) Ejecutar un grupo de sentencias hasta que exista una condicin (Do-
Until) Ejecutar un grupo de sentencias un nmero determinado de veces (For-
Next) Etc
Todas las estructuras de control tienen un nico punto de entrada yun nico punto de salida. Las estructuras de control se puedeclasificar en : secuenciales, iterativas y de control avanzadas. Estoes una de las cosas que permite que la programacin se rija por losprincipios de la programacin estructurada.
-
8/4/2019 Introduccin a C# en Visual Studio
19/36
-
8/4/2019 Introduccin a C# en Visual Studio
20/36
La estructura de seleccin mltiple switch funciona sobre cualquier tipo
predefinido (incluyendo string) o enumerado (enum) y debe indicarexplcitamente cmo terminar cada caso (generalmente, con break en
situaciones "normales" throw en situaciones "anormales", aunque es
posible -pero no recomendable- emplear goto case return ):
-
8/4/2019 Introduccin a C# en Visual Studio
21/36
-
8/4/2019 Introduccin a C# en Visual Studio
22/36
-
8/4/2019 Introduccin a C# en Visual Studio
23/36
for each
Un ciclo foreach itera seleccionando todos losmiembros de un vector, matriz u otracoleccin sin que se requiera explicitar losndices que permiten acceder a los miembros.
-
8/4/2019 Introduccin a C# en Visual Studio
24/36
try{}catch (Exception ex){
MessageBox.Show(ex.Message);}
el try catch es una estructurara de control de
excepciones, es decir de saltos de errores.Donde el tipo Exception acoge todos losposibles saltos que se den dentro de try.
-
8/4/2019 Introduccin a C# en Visual Studio
25/36
Caractersticas Bsicas del leguaje C#
Elementos Bsicos del Lenguaje C#
Tipos de Datos
Operadores
Estructuras de Control
Creacin de Clases en C#
Ivn Walkes
-
8/4/2019 Introduccin a C# en Visual Studio
26/36
Al igual que crear una clase en cualquierotro entorno de desarrollo orientado aobjeto, resulta muy similares.
La sintaxis para crear una clases es esta: {}
Es decir
public class MiClase
{
}
-
8/4/2019 Introduccin a C# en Visual Studio
27/36
Un Namespace como su nombre lo diceEspacio de Nombres no es mas que un
conjunto de clases que poseen
identificadores diferentes.
Ejemplo de la Vida Diaria Empresa y
Empleado.
-
8/4/2019 Introduccin a C# en Visual Studio
28/36
La sintaxis de un Namespace es lasiguiente
namespace MisClases
{public class Clase1
{
}}
-
8/4/2019 Introduccin a C# en Visual Studio
29/36
Un constructor es un mentido que se ejecutaautomticamente y se crea por defecto si no esdefinido, al instanciar una clase con el comendonew.
La sintaxis para crear un constructor es esta:public class Clase1
{Clase1(){
}}
-
8/4/2019 Introduccin a C# en Visual Studio
30/36
Las propiedades son miembros que ofrecenun mecanismo flexible para leer, escribir ocalcular los valores de campos privados. Se
pueden utilizar las propiedades como sifuesen miembros de datos pblicos, aunqueen realidad son mtodos especialesdenominados descriptores de acceso. De
este modo, se puede tener acceso a losdatos con facilidad, a la vez que proporcionala seguridad y flexibilidad de los mtodos.
-
8/4/2019 Introduccin a C# en Visual Studio
31/36
En este ejemplo, la clase TimePeriodalmacena un perodo de tiempo.Internamente, la clase almacena el tiempo
en segundos, pero se proporciona unapropiedad denominada Hours que permiteque un cliente especifique el tiempo en
horas. Los descriptores de acceso de lapropiedad Hours realizan la conversinentre horas y segundos.
-
8/4/2019 Introduccin a C# en Visual Studio
32/36
-
8/4/2019 Introduccin a C# en Visual Studio
33/36
AbrimosVisualStudio sitrabajas en
Windows o sitrabajas en Linuxpuedes usar Mono.
Le damos en crearnuevo Proyecto.
-
8/4/2019 Introduccin a C# en Visual Studio
34/36
1
2
3
1) Seleccionar lenguaje C#2) Seleccionar proyectos de Biblioteca de Clases3) Cambiar el nombre del Proyecto
-
8/4/2019 Introduccin a C# en Visual Studio
35/36
Luego se abre elrea de desarrolloque carece de
interfaz grafica.
Se escribe el
cdigo y luego segeneral el DLL
-
8/4/2019 Introduccin a C# en Visual Studio
36/36
Hacer una DLL, con un mtodo que segn lahora introducida, retorne un string diciendo sies Maana, Tarde o Noche, el formato de la
hora ser en 24hr. Otro mtodo que devuelvalas tablas de multiplicar del numero que se lepida, del 1 al 12.
Hacer referencia de esta DLL a un programa
de C# y luego probar los mtodos. (validetanto excepciones como datos correctos) Si tienen preguntas no duden en hacerlas.
@ivanwalkesmc