.NET Core 3.x y .NET Standard 2.1 soportan sintaxis C# 8.0, introducen muchas funciones y añaden nueva sintaxis de características: miembros de solo lectura, métodos de interfaz por defecto, mejoras en la correspondencia de patrones, patrones de atributos, patrones Tuple, patrones de posición, expresiones de switch, uso de declaraciones, funciones locales estáticas, flujos asíncronos, índices y rangos, asignaciones de fusións nulas, etc. Este artículo explicará los nuevos puntos de conocimiento de C# 8.0.
Índice y alcance
Los siguientes tipos .NET soportan tanto índices como rangos: Array, String, Span y ReadOnlySpan. La lista admite índices, pero no rangos
Ejemplo 1: El cumpleaños de la persona que obtuvo el número de identificación
Ejemplo 2: Obtener el contenido del último fragmento de la cadena
Ejemplo 3: Elimina la última parte
Cambio
expresión
Modo de atributos
Patrón de tuplas
Modo de localización
Algunos tipos incluyen un método de Deconstrucción que deconstruye sus propiedades en variables discretas. Si tienes acceso al método Deconstruct, puedes usar Pattern Position para comprobar las propiedades de un objeto y usar esas propiedades para patrones. Consideremos la siguiente clase Point que contiene un método de Deconstrucción para crear variables discretas para X e Y:
Además, consideremos la siguiente enumeración de las distintas posiciones que representan el cuadrante:
El siguiente método utiliza el patrón de posición para extraer los valores de x e y. Luego utiliza la cláusula when para determinar el cuadrante de ese punto:
Asignaciones de fusión nula
Expresiones constructoras
Usando la sentencia
La declaración using es una declaración de variable precedida por la palabra clave usando. Instruye al compilador para declarar las variables que deben manejarse al final del alcance cerrado. Por ejemplo, el código para escribir un archivo de texto es el siguiente:
En el ejemplo anterior, el archivo se procesa cuando se alcanzan los paréntesis correctos del método. Este es el final del rango del archivo declarado. El código anterior es equivalente al siguiente código usando la sentencia clásica usando:
En el ejemplo anterior, el archivo se procesa cuando se alcanzan los paréntesis correctos asociados a la sentencia usando. En ambos casos, el compilador generará una llamada a Dispose(). Si la expresión en la instrucción using no está disponible, el compilador generará un error.
Recursos
El inicio de sesión del hipervínculo es visible.
El inicio de sesión del hipervínculo es visible. |