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

Fundamentos de Microsoft .NET y C#

Feb 16, 2017

Download

Technology

Humberto Jaimes
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Fundamentos de Microsoft .NET y C#

www.hjr.com.mx

Microsoft .NET

Page 2: Fundamentos de Microsoft .NET y C#

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

Page 3: Fundamentos de Microsoft .NET y C#

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

Page 4: Fundamentos de Microsoft .NET y C#

www.hjr.com.mx

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

•Multilenguaje

• Código reusable y probado

•Minimiza DLL Hell

Page 5: Fundamentos de Microsoft .NET y C#

www.hjr.com.mx

Componentes

.NET Framework Common Language Specification

Servidores .NET Bloques de servicios

Visual Studio

Lenguajes de desarrollo

Page 6: Fundamentos de Microsoft .NET y C#

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

Page 7: Fundamentos de Microsoft .NET y C#

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

Page 8: Fundamentos de Microsoft .NET y C#

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

Page 9: Fundamentos de Microsoft .NET y C#

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

Page 10: Fundamentos de Microsoft .NET y C#

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

Page 11: Fundamentos de Microsoft .NET y C#

www.hjr.com.mx

Common Type SystemObject

Class, Interface, Array

Reference Type(Heap)

Apuntadores

Primitives, Structures, Enums

Value Types(Stack)

Directo en memoria

Page 12: Fundamentos de Microsoft .NET y C#

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

Page 13: Fundamentos de Microsoft .NET y C#

www.hjr.com.mx

CTS y CLSCLR/CTS

C#

VB

F#

CLS

Page 14: Fundamentos de Microsoft .NET y C#

www.hjr.com.mx

Actualidad

Page 15: Fundamentos de Microsoft .NET y C#

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

Page 16: Fundamentos de Microsoft .NET y C#

www.hjr.com.mx

Instalación de Visual Studio

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

Page 17: Fundamentos de Microsoft .NET y C#

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)

Page 18: Fundamentos de Microsoft .NET y C#

www.hjr.com.mx

C#•Administrado

•Type Safe

•Metaprogramación

Page 19: Fundamentos de Microsoft .NET y C#

www.hjr.com.mx

Estructura de un programa

Page 20: Fundamentos de Microsoft .NET y C#

www.hjr.com.mx

Estructura de una solución

Page 21: Fundamentos de Microsoft .NET y C#

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

Page 22: Fundamentos de Microsoft .NET y C#

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.

Page 23: Fundamentos de Microsoft .NET y C#

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

Page 24: Fundamentos de Microsoft .NET y C#

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);

Page 25: Fundamentos de Microsoft .NET y C#

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);

Page 26: Fundamentos de Microsoft .NET y C#

www.hjr.com.mx

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

Page 27: Fundamentos de Microsoft .NET y C#

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 = += /= %= -= <<= >>= &= ^= |=

Page 28: Fundamentos de Microsoft .NET y C#

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)

Page 29: Fundamentos de Microsoft .NET y C#

www.hjr.com.mx

DEMO

Page 30: Fundamentos de Microsoft .NET y C#

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