fundamentos de microsoft .net y c#

30
www.hjr.com.mx Microsoft .N ET

Upload: humberto-jaimes

Post on 16-Feb-2017

2.871 views

Category:

Technology


2 download

TRANSCRIPT

www.hjr.com.mx

Microsoft .NET

www.hjr.com.mx

• Lic. En Ciencias de la Informática – UPIICSA IPN• MCSD en desarrollo de apps para

Windows Store (C# y HTML5)• Certificado Xamarin en desarrollo

multiplataforma• 3+ años desarrollando para Windows

Phone• 2+ años con Xamarin Android/IOS

www.hjr.com.mx

¿Qué es?• .NET Framework es una plataforma de desarrollo de

código administrado

• Aplicaciones Windows, Windows Store, Windows Phone,

Windows Server y Microsoft Azure.

• Soporta POO

www.hjr.com.mx

¿Qué es?• Basado en estándares (C#,CLI) / Multiplataforma

•Multilenguaje

• Código reusable y probado

•Minimiza DLL Hell

www.hjr.com.mx

Componentes

.NET Framework Common Language Specification

Servidores .NET Bloques de servicios

Visual Studio

Lenguajes de desarrollo

www.hjr.com.mx

LenguajesA# Fortran Phalanger (PHP)

APL IronPython Python

C++ IronRuby RPG

C# J# Silverfrost FTN95

COBOL Jscript Scheme

Component Pascal LSharp SmallScript

Delphi Mercury Smalltalk

Delta Forth Mondrian TMT Pascal

Eiffel.NET Oberon VB.NET

F# Perl Zonnon

www.hjr.com.mx

Componentes

Development Frameworks

.NET Framework Library

Common Laguage Runtime (CLR)

JIT Threads GC

LINQ MEF TPL

WPF XAML WCF

COM Marshaller

WP Office

Lenguajes

www.hjr.com.mx

CLI• Common Language Infrastucture

• Define el ambiente de ejecución de código independiente en

cualquier plataforma

• El CLR de .NET implementa el estándar CLI

*Lenguaje intermedio común CIL

www.hjr.com.mx

Arquitectura del CLIArreglos de una

dimensión

Clases de acceso simple a los archivos

Tipos y clases compatibles

Kernel Profile

Network Library

Compact Profile

XML Library

Reflection Library

Interop

.Net Framework

ADO .NET

Collections

www.hjr.com.mx

Compilación

CompilaciónCódigo fuente

C#, VB, etc.Compilador del

lenguajeAssembly

(Código IL, Metadatos)

Ejecución

Código nativo Compilador JIT Cargador de clase

www.hjr.com.mx

Common Type SystemObject

Class, Interface, Array

Reference Type(Heap)

Apuntadores

Primitives, Structures, Enums

Value Types(Stack)

Directo en memoria

www.hjr.com.mx

CLS (Common Language Specification)• Especificación estándar para el CLR

• Mejora la interoperabilidad

• Nombres, Nombres de descriptores de acceso, invocación de

constructores

www.hjr.com.mx

CTS y CLSCLR/CTS

C#

VB

F#

CLS

www.hjr.com.mx

Actualidad

www.hjr.com.mx

Abierto

•ASP.NET 5: https://github.com/aspnet/Home •.NET Core CLR: https://github.com/dotnet/coreclr •.NET Core Framework: https://github.com/dotnet/corefx •Roslyn: https://github.com/dotnet/roslyn

www.hjr.com.mx

Instalación de Visual Studio

https://www.visualstudio.com/es-es

www.hjr.com.mx

C#• Uno de los principales lenguajes de .NET

• Sintaxis parecida a C { } [ ] ;

• Sirve para varios propósitos

•Multiparadigma (OO, funcional, estructurado, procedural)

www.hjr.com.mx

C#•Administrado

•Type Safe

•Metaprogramación

www.hjr.com.mx

Estructura de un programa

www.hjr.com.mx

Estructura de una solución

www.hjr.com.mx

Tipos de datosNombre corto

Clase .NET

Tipo Ancho Intervalo (bits)

byte Byte Entero sin signo 8 0 a 255sbyte SByte Entero con signo 8 -128 a 127

int Int32 Entero con signo 32 -2.147.483.648 a 2.147.483.647

uint UInt32 Entero sin signo 32 0 a 4294967295short Int16 Entero con signo 16 -32.768 a 32.767

ushort UInt16 Entero sin signo 16 0 a 65535

long Int64 Entero con signo 64-922337203685477508 a 922337203685477507

https://msdn.microsoft.com/es-mx/library/ms228360(v=vs.90).aspx

www.hjr.com.mx

Tipos de datos

https://msdn.microsoft.com/es-mx/library/ms228360(v=vs.90).aspx

Nombre cortoClase .NE

TTipo Ancho Intervalo (bits)

ulong UInt64 Entero sin signo 64 0 a 18446744073709551615float Single Tipo de punto flotante de precisión simple 32 -3,402823e38 a 3,402823e38

double Double Tipo de punto flotante de precisión doble 64-1,79769313486232e308 a 1,79769313486232e308

char Char Un carácter Unicode 16 Símbolos Unicode utilizados en el textobool Boolean Tipo Boolean lógico 8 True o false

object Object Tipo base de todos los otros tiposstring String Una secuencia de caracteres

decimal DecimalTipo preciso fraccionario o integral, que

puede representar números decimales con 29 dígitos significativos

128 ±1.0 × 10e−28 a ±7.9 × 10e28

DateTime DateTime Instante de tiempo 8 01/01/0001 12:00:00 a.m.A 31/12/9999 11:59:59p.m.

www.hjr.com.mx

Variables• Solo puede contener letras dígitos y _

• Debe iniciar con letra o _

• No debe ser una palabra clave del C#

• C# es sensible a mayúsculas y minúsculas

• Utilizar nombres significativos

www.hjr.com.mx

Conversiones• Convertir un texto de un archivo a un número• Casting• Implícita – No hay perdida de información• Explicita

int a = 5;long b = a;

string a = “5”;int b = int.Parse(a);

www.hjr.com.mx

Expresiones• Se utiliza para manipular datos• Colección de operandos y operadores• Operandos

• Variables• Propiedades• Resultados de metódos

• Operadores• + * / - & | > <

int a = b;var b = 7*3;Var d = System.Math.Cos(90);

www.hjr.com.mx

Operadores•Unarios (1 operando - !)•Binarios (2 operandos + *)•Ternario (expresiones condicionales ‘?’ );•Compuestos de asignación ( += *=)

www.hjr.com.mx

PrecedenciaPrecedencia Categoria OperadoresMás alta Unario + - ! ++ --

Aritmetico * / % + -Desplazamiento << >>Relacionales < > <= >=Comprobación de tipos is asIgualdad == !=Lógicos & ^ |Condicionales && || ?:

Mas baja Asignación = += /= %= -= <<= >>= &= ^= |=

www.hjr.com.mx

Precedencia •Misma prioridad se resuelve de izquierda a derecha • Excepto los de asignación

X+Y+X (X+Y)+Z

• Los de asignación y el ternario se ejecutan de derecha a izquierda

X=Y=Z X=(Y=Z)

www.hjr.com.mx

DEMO

www.hjr.com.mx

Con

tact

o • Blog: http://www.hjr.com.mx/

• Twitter: @HJR046

• Facebook: https://www.facebook.com/HJR46

• LinkedIn: https://mx.linkedin.com/in/humbertoj

• Mail: [email protected]

• Meetup: http://bit.ly/XAMARINDF