Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Introducción a la Plataforma Microsoft .NET (página 3)




Enviado por Pablo Turmero



Partes: 1, 2, 3

Monografias.com
Estructuras
Grupos de código y datos
Similar a las clases, sin embargo:
No se permite la herencia
Siempre se almacenan por valor
Desarrolladores de C++
Estructuras no son una clase con todos sus miembros públicos
Ejemplo:
struct Point{ double X; double Y; void MoveBy(double dX, double dY) { X+=dX; Y+=dY; }}

Monografias.com
Propiedades
Unión entre campos y métodos
Se recomienda su uso en:
Implementación de miembros de solo lectura (omitiendo la claúsula set)
Validación durante la asignación
Valores calculados o compuestos
Ejemplo:
string Name { get { return name; } set { name = value; } }

Monografias.com
Indices
Modo consistente para la construcción de contenedores
Construidos sobre la filosofía de las “propiedades”
Posibilita el acceso indizado a los objetos
Calificador del indice puede ser de cualquier tipo
Ejemplo:
object this[string index]{ get { return Dict.Item(index); } set { Dict.Add(index,value); } }

Monografias.com
Convertidos por el compilador en llamadas a métodos, para facilitar la interoperabilidad entre lenguajes

Indices
get_Item()
{

}
void set_Item(, value)
{

}

Monografias.com
Delegados
Delegados
Similares a los punteros a función de C y C++
Fuerte chequeo de tipos, lo que impide la confusión antes existente en relación con los type-cast
Ejemplo:
delegate void Clicked(Element e, Point p);

Monografias.com
Instrucciones
Similares a C, C++: control de flujos y ciclos
if () { … } else { … };
switch() { case : …; };
while () { … };
for (;;) { … };
do { … } while ();

Monografias.com
Instrucciones
Diferentes a C, C++:
lock(){ … };
Sincronización de secciones críticas es inherente al lenguaje
checked {…}; unchecked { …};
Protección contra el “Integer overflow”

Monografias.com
Métodos para colecciones: foreach
Soporte directo a las iteraciones sobre las colecciones
Pueden ser usados por arreglos y otras colecciones
Ademas se puede usar con cualquier otra clase
Implemente IEnumerable con el método GetEnumerator()
Devolviendo un objeto implementado de tipo IEnumerator
Ejemplo:
Point[] Points = GetPoints();foreach( Point p in Points ){ MyPen.MoveTo(p.x,p.y);}

Monografias.com
Operadores
Similares a C:
Lógicos/condicionales: && ||
Aritméticos: * / + – << >>
Relacionales: == != < > >= <=
No exactamente C:
Para bool: & y | son lógicos con evaluación completa
Para integer: & y | ejecutan AND/OR binarios

Monografias.com
Operadores
No similares a C:
is Prueba el tipo en tiempo de ejecución
as Convierte un valor a un tipo especificado
typeof Devuelve el tipo en tiempo de ejecución

Monografias.com
Sobre carga de operadores
La mayor parte pueden ser redefinidos
Aritméticos, relacionales, condicionales, y lógicos
No permitido para
Operadores de asignación
Operadores especiales (sizeof, new, is, typeof)
Ejemplo:
Public static Total operator +(int Amount, Total t){ t.total += Amount;}

Monografias.com
Modificadores de acceso
Adopta el modelo C++
public ? cualquiera puede invocarlo o accederlo
protected ? solamente los miembros pueden accederlo
private ? solo los miembros de exactamente esta clase pueden accederlo

Monografias.com
Modificadores de acceso
Expande el modelo de C++
sealed ? No se puede usar como clase base de una jerarquía
internal ? Acceso público solamente desde su ensamblado
protected internal ? protegido dentro de su ensamblado

Monografias.com
“Y los punteros?”
C# soporta
Tipo string intrínseco
Modelo de recolección de basura
Parámetros por referencia usando ref
void increment(ref int value, int by)
Parámetros de salida usando out
bool add(int a, int b, out int c)
Punteros están disponibles para el código marcado como unsafe
unsafe void crypt(byte[] arr) { byte * b = arr; … }

Monografias.com
Boxing y Unboxing
Tipos por valor pueden "boxed" y "unboxed"
"Boxing" permite que los tipos por valor se traten por referencia
Basado en el tipo objeto implicito de todos los tipos.
Ponga el valor en una caja y referénciela
double Value;
// Boxing
object BoxedValue = Value;// UnboxingValue = (double)BoxedValue;
42
42
42
Unboxed: Copia
Boxed: Referencia

Monografias.com
Recolección de basura
Creación nuevos objetos y arreglos de datos
Todos son creados mediante el uso de new
El .NET runtime mantiene un registro automatico de todo el uso de la memoria
El recolector de basura automaticamente remueve todos los objetos que esten sin uso
Un uso más eficiente de la memoria
Fácil de usar y “cero escapes de memoria”

Monografias.com
Manipulación de Excepciones
Similar a C++
Ejemplo:
try ejecuta este código
…si ocurre un error, catch que puedo hacer en ese caso …
…finally me permite realizar algun trabajo manual de rescate
try { //… run code}catch(SomeException e){ //… handle}finally{ //…end gracefully}

Monografias.com
Diferencias con C++
C# es muy parecido a C/C++
Corrige la mayoría de sus errores:
Estricto chequeo de tipos
No más"fall-through" por break en la instrucción switch
Expresiones booleanas y las instrucciones que las involucran son estrictamente chequeadas.

Monografias.com
Espacios de nombres
Toda definición debe estar contenida en un espacio de nombres
Impide colisiones de nombres
Organiza el código
Pueden y deben ser anidados

Monografias.com
Espacios de nombres
Agrupa clases y tipos por semántica
Declarados con la palabra clave namespace
Referenciados con using

Monografias.com
Herramientas disponibles
.NET Framework SDK—todo lo necesario para construir aplicaciones
Compilador C#
Debugger Visual
Visual Studio.NET—the productivity rocket
Ambiente de desarrollo optimizado para C#
“Code wizards” y templates
Ayuda inteligente

Monografias.com
.NET Framework SDK
Compilador de C# (+ Visual Basic, C++, and JScript)
Todas las caracteristicas del lenguaje
Ejecucion desde linea de comandos
Visual Debugger—GuiDebug
Desarrollado sobre la tecnologia Visual Studio.NET
Acceso completo a los metadatos en tiempo de ejecución
Herramientas
Nmake, security, configuration, IL Disassembler, …
Libre para todos

Monografias.com
Visual Studio.NET
Desarrollado para .NET Framework SDK
Reinvención del concepto de Visual Studio®, ahora con:
Proyectos Multi-lenguajes
Un ambiente integrado de desarrollo para todos los lenguajes y tareas
Herramientas integradas: Visual Modeler, Database Management
Perfecta integración de la ayuda
Alta productividad para todo:
RAD Rapid application development
Proyectos de gran escala

Partes: 1, 2, 3
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter