sintgamas, artículos
 
Usuario:   Clave:    
   
Escribí lo que quieras:  
 
  Gastronomía| Moda| Mascotas| Industria| Om| Mi lugar| Economía| Política| Humor| Ecología| Turismo| Educación| Inmobiliarias| Sociedad| El mundo| Ocio| Música| Ciencia| Tecnología| Internet| Posicionamiento| Diseño| Deporte| Salud| Letras| Cine| Juegos| Miscelaneas| Cultura| Escultura| Pintura| Clasificados| Televisión| Alternativas| Recetas| Telefonía|  
   
 
 
27 Dejar de amar a una mujer es tanto como odiarla violentamente. Teófilo Gautier   por   Alguna
 
 
Xnechijli01 10/29/2019 | 00:01:11  
 
Coincidencia de patrones
Mejoras en la coincidencia de patrones en C#
Tags:
  C#              
 
C# 8 Mejoras de coincidencia de patrones

C# 7 sentó las bases para la coincidencia de patrones, pero muchas características tuvieron que dejarse en a un lado. Con el tiempo extra que C# 8 necesita, muchos de estos se están recogiendo.

Coincidencia de patrones posicionales

Considera este patrón bastante detallado utilizando la sintaxis C# 7.

case Rectangle r when r.Length == 10 && r.Width == 10: return "Found 10x10 rectangle";

Al aprovechar la función deconstructor, la nueva coincidencia de patrón posicional hace que la función sea mucho menos detallada.

case Rectangle (10, 10): return "Found 10x10 rectangle";

Esta característica también será compatible con tuplas anónimas. Esto se conoce como un "patrón de tupla".

Coincidencia de patrones de propiedad

El patrón posicional es conciso, pero solo funciona si tienes un método de deconstrucción adecuado. Cuando no lo tengas, puedes usar un patrón de propiedad en su lugar.

case Rectangle {Width : 10 }: return "Found a rectangle with a width of 10";

El soporte para las propiedades indexadas también se está considerando, pero no se han determinado los detalles.

Mejoras deconstructor

Otra idea que se está considerando en los problemas de Open LDM en el ticket de coincidencia de patrones es permitir múltiples métodos de deconstrucción con el mismo número de parámetros. Además de tener diferentes tipos, los parámetros deben tener un nombre diferente.

ITuple Pattern Matching

La interfaz ITuple, presentada en .NET 4.7.1 y .NET Core 2.0, plantea varias preguntas en C# 8. La idea básica es que si un objeto implementa esta interfaz, puede participar en la coincidencia de patrones. Se están considerando tres escenarios con respecto a cuándo entrará en vigencia.

if (x is ITuple(3, 4)) // (1) permitted? if (x is object(3, 4)) // (2) permitted? if (x is SomeTypeThatImplementsITuple(3, 4)) // (3) permitted? 

Una pregunta relacionada es si una clase implementa ITuple y hay un método de extensión Deconstruct, ¿cuál tiene prioridad? Idealmente, devolverían los mismos valores, pero se necesita un desempate cuando ese no sea el caso.

Hasta aquí llegamos con este Tema. Ahora te dejamos el enlace de tres cursos presenciales que puedes visitar.

Curso de Excel 
curso de Javascript 
curso de C#
 

 
Agregar esta página a Mister Wong Compartir
Agregar la pestaña Desarrollador a Microsoft Excel
¿Cómo funciona JVM o Java Virtual Machine?
Relación entre el lenguaje de programación y la JVM.
¿Por qué dejar de programar en COBOL?
La programación en Java y la JMV
  Comentarios: 0      
 
Enviá tu comentario
Para dejar tu comentario debes ser miembro de Sintagmas.
 
 
 
 
 
 
ULTIMAS PUBLICADAS en Tecnología |
  Sillas salvaescaleras, la solución perfecta
Contenidos7
 
  Ascensores de calidad y siempre en buen estado
Contenidos7
 
  Protección específica y útil de las cámaras de vigilancia
Contenidos7
 
  ¿Cómo funciona JVM o Java Virtual Machine?
Xnechijli01
 
  Relación entre el lenguaje de programación y la JVM.
Xnechijli01
 
  ¿Por qué dejar de programar en COBOL?
Xnechijli01
 
  La programación en Java y la JMV
Xnechijli01
 
  Funcionamiento básico de la máquina virtual Java
Xnechijli01
 
  JVM: máquina virtual de Java
Xnechijli01
 
  Introducción a la máquina virtual de Java
Xnechijli01
 
  Concienciación sobre accesibilidad y salvaescaleras
Contenidos7
 
  Soluciones técnicas profesionales de Bang & Olufsen
Contenidos7
 
  Razones éticas para comprar e instalar sillas salvaescaleras
Contenidos7
 
  La eficiencia del mantenimiento y la reparación de ascensores
Contenidos7
 
  Sillas salvaescaleras: herramientas básicas de movilidad
Contenidos7
 
  Servicio Técnico Apple en Barcelona, Reviviendo a tu Mac
aaragones
 
  La seguridad que brindan las cámaras de vigilancia
Contenidos7
 
  ¿Por qué se instalan salvaescaleras en edificios privados?
Contenidos7
 
  Cámaras de seguridad para todas las necesidades
Contenidos7
 
  Durometro y sus usos
stephanfrueeh
 
  Las okupaciones aumentan la demanda de cámaras de seguridad IP
Contenidos7
 
  Cómo seleccionar la silla salvaescaleras más adecuada
Contenidos7
 
  Por qué es importante revisar los ascensores
Contenidos7
 
  Medir La Dureza Del Material Con El Durómetro Brinell
stephanfrueeh
 
  El montaje y uso de ascensores en las ciudades modernas
Contenidos7
 
  Historias en un ascensor
Contenidos7
 
  Propiedades de las clases en kotlin
Xnechijli01
 
  Qué son las funciones en kotlin
Xnechijli01
 
  Declaraciones condicionales en kotlin
Xnechijli01
 
  Inferencia de tipo en kotlin
Xnechijli01
 
 
 
 
TAGS
C#
 
 
  Contacto| Términos y condiciones| Anunciar en Sintagmas| Acerca de Sintagmas| Administrar|      
Copyright 2009 y actual de Sintagmas | Todos los derechos reservados