Please enable JavaScript.
Coggle requires JavaScript to display documents.
.NET y tipos de variables - Coggle Diagram
.NET y tipos de variables
.NET es una plataforma de aplicaciones que permite la creación y ejecución de servicios web y aplicaciones de Internet. En la plataforma de desarrollo se pueden utilizar una serie de lenguajes, implementaciones, herramientas y bibliotecas para el desarrollo de las aplicaciones.
Componentes de la arquitectura .NET
Implementaciones
.NET Framework está dividido en diferentes subcategorías y categorías de programas y, por lo tanto, contiene diferentes modelos de ejecución entre los que el usuario debe elegir al desarrollar el software. La llamada biblioteca de clases base permite el desarrollo de aplicaciones no sólo para entornos Windows, sino también para plataformas como Android o MacOS.
.NET Core
.NET Core es una nueva alternativa que se separó por primera vez del .NET Framework en 2015. Debido a la mejora de la modularidad y a la portabilidad aún más sencilla del software a plataformas que no sean de Microsoft. a biblioteca de clases Core Ex es compatible con Windows, MacOs y Linux.
Xamarin
En esta se pueden desarrollar aplicaciones para Android, iOS, tvOS, watchOS, macOS y Windows. Esta, disponía de herramientas y bibliotecas específicas.
UWP
UWP es una de las muchas maneras de crear aplicaciones cliente para Windows. Las aplicaciones UWP usan las API de WinRT para proporcionar características de interfaz de usuario avanzadas y asincrónicas eficaces que son ideales para dispositivos conectados a Internet. Aunque algunos desarrolladores la situan dentro de la plataforma .NET Core al compartir algunas bibliotecas de este.
.NET Standard Library
Otro de los componentes que formaban parte de la arquitectura era la biblioteca de clases portable PCL. Con ella se podía compartir el código entre varios proyectos específicos de la plataforma, tanto en IOS, Android, Windows y Windows Phone.
En la actualidad, con la última versión de Visual Studio en 2017, las PCL quedaron obsoletas y borradas del sistema, así como las bibliotecas base de cada implementación. En su lugar fueron reemplazadas por .NET Standard Library que se trata de una fusión de las bibliotecas base y PCL compatible con todas las implementaciones.
Entorno en Tiempo de Ejecución
Como su nombre indica es donde se ejecuta el programa administrado o el intervalo de tiempo en el que un software se ejecuta en un sistema operativo. Según la implementación utilizada.
.NET framework: CLR (Common Language Runtime).
.NET Core: Core CLR (CoreCommon Language Runtime).
Xamarin: entorno de implementación Mono.
UWP: .NET Native.
Infraestructura Común
Aquí es donde están los lenguajes de programación: C#, F#, VB y el motor de compilación Ms Build para compilar los proyectos.
es una especificación estandarizada que describe un entorno virtual para la ejecución de aplicaciones, cuya principal característica es la de permitir que aplicaciones escritas en distintos lenguajes de alto nivel puedan luego ejecutarse en múltiples plataformas tanto de hardware como de software sin necesidad de reescribir o recompilar su código fuente.
Herramientas de Desarrollo
Son utilizadas para la creación de aplicaciones web o móviles en los diferentes sistemas operativos mencionados:
Administrador de paquetes para microsoft: Nuget.
Entorno de desarrollo integrado (IDE): Visual Studio, Xamarin Studio, Visual Studio para Mac, JetBrains Rider.
Editores de Código: Visual Studio Code y Plugin OmniSharp.
Variables
Las variables representan ubicaciones de almacenamiento. Cada variable tiene un tipo que determina qué valores se pueden almacenar en la variable. C# es un lenguaje con seguridad de tipos y el compilador de C# garantiza que los valores almacenados en variables siempre sean del tipo adecuado. El valor de una variable se puede cambiar mediante la asignación o mediante el uso de los ++ operadores -- y .
Variables estáticas
Un campo declarado con el static modificador se denomina variable estática. Una variable estática entra en vigor antes de la ejecución del constructor estático(constructores estáticos) para su tipo de contenido y deja de existir cuando el dominio de aplicación asociado deja de existir.
Variables de instancia
Un campo declarado sin el static modificador se denomina variable de instancia.
Variables de instancia en clases
Una variable de instancia de una clase entra en vigor cuando se crea una nueva instancia de esa clase y deja de existir cuando no hay referencias a esa instancia y se ha ejecutado el destructor de la instancia (si existe).
Variables de instancia en estructuras
Una variable de instancia de un struct tiene exactamente la misma duración que la variable de estructura a la que pertenece. En otras palabras, cuando una variable de un tipo de estructura entra en existencia o deja de existir, también lo hacen las variables de instancia de la estructura .
Elementos de matriz
Los elementos de una matriz se crean cuando se crea una instancia de matriz y dejan de existir cuando no hay referencias a esa instancia de matriz.
Parámetros de referencia
Un parámetro de referencia no crea una nueva ubicación de almacenamiento. En su lugar, un parámetro de referencia representa la misma ubicación de almacenamiento que la variable especificada como argumento en el miembro de función o la invocación de función anónima.
Las siguientes reglas de asignación definidas se aplican a los parámetros de referencia.
Una variable debe asignarse definitivamente(definiciónde asignación ) antes de que se pueda pasar como parámetro de referencia en una invocación de delegado o miembro de función.
Dentro de un miembro de función o una función anónima, un parámetro de referencia se considera asignado inicialmente.
Parámetros de salida
Un parámetro de salida no crea una nueva ubicación de almacenamiento. En su lugar, un parámetro de salida representa la misma ubicación de almacenamiento que la variable especificada como argumento en la invocación de delegado o miembro de función.
Las siguientes reglas de asignación definidas se aplican a los parámetros de salida.
No es necesario asignar definitivamente una variable para poder pasarla como parámetro de salida en una invocación de delegado o miembro de función.
Después de la finalización normal de una invocación de delegado o miembro de función, cada variable que se pasó como parámetro de salida se considera asignada en esa ruta de acceso de ejecución.
Dentro de un miembro de función o una función anónima, un parámetro de salida se considera inicialmente sin signo.
Todos los parámetros de salida de un miembro de función o una función anónima deben asignarse definitivamente (Definite assignment) antes de que el miembro de función o la función anónima vuelvan con normalidad.
Variables locales
La duración real de una variable local depende de la implementación. Por ejemplo, un compilador podría determinar estáticamente que una variable local de un bloque solo se usa para una pequeña parte de ese bloque. Con este análisis, el compilador podría generar código que da como resultado que el almacenamiento de la variable tenga una duración más corta que su bloque que lo contiene.
Parámetros de valor
Un parámetro de valor entra en vigor tras la invocación del miembro de función (método, constructor de instancia, accessor u operador) o de la función anónima a la que pertenece el parámetro, y se inicializa con el valor del argumento proporcionado en la invocación. Normalmente, un parámetro de valor deja de existir al devolver el miembro de función o la función anónima.