C # 7.0 nuevas características y Comentarios de azúcar en la sintaxis

Acompañado por el lanzamiento de Visual Studio 2017, C # 7.0 oficialmente ir a trabajar. Para que ya están familiarizados con versiones anteriores de desarrolladores de C #, C # 7.0 añade muchas nuevas características y azúcar sintáctico puede mejorar la eficiencia de la programación y reducir las tasas de error en gran parte. 9 se expondrán en el presente documento para mejorar el análisis C # 7.0.

 

1, tuple - una pluralidad de valor de retorno es más elegante

La razón por la cual las tuplas en primer lugar, debido a su experiencia en programación C # mejora es demasiado grande. El concepto de tuplas en el pasado se había introducido en C #, pero no es de una clase genérica llamada tuplas de lograr. Mientras que el uso de esta clase genérica puede lograr un efecto tuplas similares, pero la legibilidad es muy mala, no hay manera totalmente a través del código de entender lo que es la función devuelve al final, esto debe ser un nombre de parámetro humano amigable se había convertido Elemento1, eLEMENTO2 tales nombres abstractos. También es debido a esto, los desarrolladores prefieren por lo general su propia definición de una estructura utilizada para devolver varios valores.

sintaxis tupla introducido en C # 7.0 permite llevar a cabo esta tarea con más gracia. Puede ser expresado de esta manera una función de tipo de valor de retorno:

 

En el código externo, para que pueda acceder a los múltiples valores del tipo tupla contiene:

 

Esta C # que la versión anterior, con Elemento1, Item2, Elemento3 para representar el método de los elementos tupla más intuitiva, que no tiene que leer, leer volverá a ver a sus declaraciones de función del orden de lo que el.

Por supuesto, si usted no quiere a la inferencia de tipos y el tipo tupla en el anonimato, puede deconstruir tales una tupla:

La premisa de la utilización de la tupla, usted ha citado paquete de System.ValueTuple oficial de Microsoft:

 

2, las funciones locales - nuevas formas ámbito de la función

Dado que el cerebro tupla podría explotar, por lo que es fácil de detectar - una función local, que es una nueva característica más fácil de entender. En resumen, podemos definir una función en una función, y por lo general esta función en la función sólo se puede acceder en la función externa. Directamente en los ejemplos:

 

3, pasado por referencia, y devuelve una referencia - no tienen que preocuparse por el tipo de valor que se pasa por referencia

Familiarizado con C # amigos saben a ciencia cierta, si el operando es un tipo de valor, entonces el operador de asignación (signo igual) de entrega predeterminado es el valor de este tipo, pero a veces, no queremos C # "sabelotodo" dar a entregar valor y esperanza pasar este tipo de valor de referencia. En C # 7.0, Microsoft re-uso de la palabra clave ref subutilizado, para demostrar que queremos pasar una referencia en lugar del valor. Los siguientes son ejemplos:

La salida de este programa es de tres, no suele ser considerado nulo. La razón está en el medio de la asignación de la frase, nos dirá C #, tenemos que pasar una referencia, no el valor. Así entonces realizar cambios en el valor de b, el valor de una sincrónica cambiaron.

Del mismo modo, podemos utilizar la misma manera de hacer una función que devuelve una referencia a un tipo de valor en lugar de su valor:

 

Nuevas maneras de comparar y combinar - 4 Modo

Como un tipo de lenguaje de base, "sellado" y la operación "unboxing" ciertamente popular. Antes de desembalar, a menudo necesitamos para determinar el tipo de caso que al final es lo que (es operador). C # tiene versiones anteriores de plantillas es fórmula escrita: con un primer tipo de sellado se determina es el operador, y luego como operador de desembalaje. Ahora bien, este tipo de sintaxis de la plantilla se puede abreviar con el caso:

Por otra parte, C # 7.0 puso esta cosa llamada "coincidencia de patrones", que le permite utilizar el interruptor / declaración de caso para determinar las cantidades de tipo sellado, y utilizar palabras clave para definir al desembalar resultado de condiciones. Por ejemplo:

 

5, el azúcar sintáctica --out variables definidas directamente

Buena cabo parámetros previamente definidos en el uso de la función con argumentos fuera, lo primero que se debe asignar, pasa a la función. Ahora cuando se puede transferir directamente de la definición de los parámetros:

 

6, un tipo de retorno asíncrono universal de

Por lo general, el método asíncrono tipo de retorno debe ser nula o de tareas de tareas, la desventaja significativa de este enfoque es que en el caso de espera será asíncrona, pero los resultados han estado disponibles en la asignación de tareas. C # 7.0 añadió ValueTask tipo genérico, para resolver el problema anterior, se puede mejorar significativamente el rendimiento de la parte asíncrona del programa. En pocas palabras, ValueTask crea una caché, ya está disponible para el valor de la memoria caché, que no es lo mismo cada vez que una espera para el método asíncrono realiza exactamente el mismo procedimiento. Por ejemplo, si la longitud del niño será más largo, por lo que satisfacer cada uno su propio acceso a MSDN.

 

7, la expresión de azúcar sintáctica --λ ahora es compatible con más funciones

En C # 7.0, constructores, destructores y de acceso de propiedad lambda expresión también pueden ser utilizados, tales como:

 

8, azúcar sintáctico - expresión anormal

El nuevo operador ?? (signo de interrogación dos de tamaño medio) se utiliza para elevar una excepción cuando la referencia es nula:

 

9, azúcar sintáctico - donde se puede añadir mejoras digitales relieve de legibilidad

C # 7.0 ahora creen 1234_5678 y 12345678 es un número de. Es decir, los números subrayan son ignorados.

resumen:

C # 7.0 añade nuevas características y azúcar sintáctico puede ser muy eficaz para mejorar la eficiencia de nuestra programación, sino también más propicio para reducir la tasa de error. Entenderlos, para el trabajo futuro traerá gran ayuda.

Supongo que te gusta

Origin www.cnblogs.com/codedisco/p/12543698.html
Recomendado
Clasificación