fundamentos de microsoft .net y c#
TRANSCRIPT
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
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
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
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
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