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 El hombre ama cuando quiere y la mujer cuando puede.   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
Propiedades de las clases en kotlin
Qué son las funciones en kotlin
Declaraciones condicionales en kotlin
Inferencia de tipo en kotlin
Declaración de variables en kotlin
  Comentarios: 0      
 
Enviá tu comentario
Para dejar tu comentario debes ser miembro de Sintagmas.
 
 
 
 
 
 
ULTIMAS PUBLICADAS en Tecnología |
  Inferencia de tipo en kotlin
Xnechijli01
 
  Declaración de variables en kotlin
Xnechijli01
 
  Declaraciones condicionales en kotlin
Xnechijli01
 
  Qué son las funciones en kotlin
Xnechijli01
 
  Propiedades de las clases en kotlin
Xnechijli01
 
  Ventajas de php
Xnechijli01
 
  El uso de php en el diseño web
Xnechijli01
 
  Código actualizado de C#
Xnechijli01
 
  Ya Esta disponible C# 8
Xnechijli01
 
  Coincidencia de patrones
Xnechijli01
 
  Flujos asicronicos
Xnechijli01
 
  Selección de celdas para tablas
Xnechijli01
 
  Excel y la personalización de tablas dinámicas
Xnechijli01
 
  4 atributos de tablas dinámicas
Xnechijli01
 
  Columnas filas y valores de tablas dinámicas
Xnechijli01
 
  Deberías migrar tu aplicación a kotlin
Xnechijli01
 
  Razones para usar kotlin en Android
Xnechijli01
 
  Google y el uso de kotlin para Android
Xnechijli01
 
  Aplicaciones Android que usan kotlin
Xnechijli01
 
  Funciones Index y Match en Excel
Xnechijli01
 
  Funciones Index y Match en Excel parte 2
Xnechijli01
 
  Combinación de celdas en Excel
Xnechijli01
 
  Qué son los lenguajes de programación
Xnechijli01
 
  Que son los foros web
Xnechijli01
 
  El diseño web en la tecnología
Xnechijli01
 
  Las tres mejores herramientas del diseño web
Xnechijli01
 
  Un ascensor, siempre, en buen estado
Contenidos7
 
  Hoy le toca el turno a la reparación de ascensores
Contenidos7
 
  Configuración peculiar de GitHub en MySQL
Xnechijli01
 
  Pequeña mejora en C# 8
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