C # 5.0 todo-en-uno para los maniquíes

Muchas variables son para almacenar una cosa, como un número o una frase. Un objeto puede tener un montón de propiedades, el almacenamiento de una gran cantidad de información acerca de un solo concepto. A veces, sin embargo, sólo hay que seguir la pista de una gran lista de cosas. Ahí es donde las clases de colección vienen en.

Las clases de colección en C # son impresionantes, ya que pueden ayudar a mantener una lista de elementos, o un grupo de claves y valores, y proporcionar la búsqueda, proctoring, y las herramientas de mantenimiento en general de forma gratuita. Eso es mucho más fácil que escribir los dos "clientes ordenar por apellido 'centésima método de este mes.

C # tiene clases básicas de recolección, clases de colección genéricos, y clases de colección concurrentes. Estos últimos son de hilo de seguridad de las operaciones en un entorno multiprocesador. Todas estas clases de colección son útiles si usted sabe dónde y cuándo usarlos.

Colecciones regulares

Colecciones regulares almacenar cosas sin tipo para usted. Si usted no sabe exactamente lo que vas a almacenar, colecciones regulares son para usted. La mayoría de todo en estas clases se almacenan como objetos.

ClaseDescripción
Lista de arregloEsta es sólo una colección sencilla de objetos cuya sizeis declarado inicialmente, y que el tamaño aumenta, según sea necesario (perono disminuye).
Tabla de picadilloSólo una tabla de dos columnas de claves y valores, donde las parejas arelinked para clasificar una recuperación.
ColaUn primero en entrar, último en salir (FIFO) lista de elementos. Gran para la materia proceso storingprogram.
PilaComo una cola, pero Last In First Out (LIFO).

Colecciones genéricas

C # 2.0 colecciones genéricas introducidas. Colecciones genéricas permiten almacenar colecciones con tipo de artículos, como se declara en tiempo de ejecución.

ClaseDescripción
DiccionarioSólo un HastTable, excepto escrito, por lo que no tiene tostore objeto, objetos. TKey y TValue son tipos, por lo que puede almacenar-lista de si quieres.
ListaEsta es la nueva matriz. Es una lista mecanografiada de artículos. Byfar, la clase de colección más común utilizado. Es la default.ifdon't necesita una lista de las personas, es una lista.
ColaSimilar a la cola sin tipo, pero, bueno, a máquina!
SortedListEste diccionario impresionante implementa IComparable para que canbe ordenan.
PilaAl igual que la pila sin tipo, excepto mecanografiadas.

Clases de colección concurrentes

Por último, las clases concurrentes se aseguran de que los objetos se almacenan en una lista están disponibles en cualquier espacio de la memoria, no importa qué procesador. Es un reparto más grande de lo que piensas.

ClaseDescripción
BlockingCollectionEs una clase thread-safe que prevenir un threadfrom alterar un campo que se puede acceder en otra cosa thread.Brilliant, de verdad.
ConcurrentDictionaryHablando de brillantes, este conjunto de pares clave / valor puede beaccessed por varios subprocesos.
ConcurrentQueueRecuerde que la pila FIFO? Sí. Éste es genérico y multi-hilo.
ConcurrentStackLas colecciones orquestadas son útiles. They'rebeneficial para la memoria, por una cosa. De todos modos, éste es LIFO andthread-seguro, también.

Configuración de C #

Todo un espacio de nombres de clases está diseñado para configurar las aplicaciones escritas en cualquier lenguaje .NET, como C #, VB.NET, o cualquiera de varios otros. Los objetos dentro de la misma son, por decir lo menos, un poco difícil de navegar. La configuración en aplicaciones .NET tiene lugar en un archivo .config. Este archivo XML con formato tiene una nodo, y una gran cantidad de nodos específicos del proyecto dentro. Obtener una referencia a la configuración requiere una llamada a OpenExeConfiguration.

System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration () -

Una vez hecho esto, obtener una referencia a una sección es bastante sencillo. los GetSection método sólo se necesita una cadena que es el nombre del nodo, y debido a que el archivo de configuración es sólo texto, puede tomar en cualquier momento.

sectionname = var "Lo que sea!" - section = (System.Configuration.AppSettingsSection) config.GetSection System.Configuration.AppSettingsSection (sectionname) -

Puede añadir secciones en el fichero de configuración usando las herramientas de manipulación de XML en el marco. Puede utilizar un grupo preestablecido en secciones para la funcionalidad correspondiente.

Sección Descripción
Puesta en marchaDescribe la versión .NET de usar.
Tiempo de ejecuciónEnumera los elementos de .NET para enlazar con el ejecutable.
La redDescribe proxy y otras configuraciones de red.
CriptografíaUn lugar para mantener los valores accesibles referencia a los recursos criptográficos
ConfiguraciónLa sección más utilizado. Es el lugar donde usted guarda secciones personalizadas del archivo de configuración.
Traza / DepuraciónDos opciones que le permiten configurar el seguimiento y registro.
Configuración de aplicaciones (appsettings)Aplicación con ámbito cosas como cadenas de conexión de base de datos.
Configuración del Web (websettings)Detalles específicos de ASP.NET.

Programación asincrónica

Una gran cantidad de Windows 8 se trata de ser rápido y fluido. La forma de hacerlo es mediante el uso de métodos asincrónicos en devoluciones de llamada de la funcionalidad de larga duración. El problema con esto es que en C #, la mejor manera de poner en práctica un método asíncrono es con roscado. Pero no siempre se puede confiar en que los elementos de una operación de roscado volverán. Tiene que haber algún tipo de control si desea que los usuarios sean capaces de sentir como que hay un cierto control.

Ingrese lasincronizar y laespera. lasincronizar se utiliza para declarar una función asíncrona, que devuelve un Tarea. Todas asíncrono métodos deben contener al menos un aguardan expresión. esperar dice C # para tener código hace referencia y ejecutarlo en un hilo separado que el hilo de usuario. La tabla desglosa las nuevas piezas asíncronos de la lengua.

DeclaraciónDescripción
asíncronoUn modificador que muestra el compilador que la función itmodifies es asíncrona.
esperarUn operador que suspende la ejecución de la containingmethod hasta que completa la tarea esperada.
TareaRepresenta una operación asincrónica.
TareaUna operación asincrónica que devuelve un valor.
Task.ContinueWithA continuación que se inicia después de la operación en el Taskis completó.



» » » » C # 5.0 todo-en-uno para los maniquíes