¿Se puede utilizar una sentencia switch con expresiones lambda en C#?

Sep 09, 2025

Dejar un mensaje

¡Hola! Como proveedor de conmutadores, llevo mucho tiempo sumergido en el mundo de los conmutadores. Y una pregunta que ha surgido con bastante frecuencia últimamente es: "¿Se puede usar una declaración de cambio con expresiones lambda en C#?" Profundicemos en este tema y averigüémoslo.

En primer lugar, repasemos rápidamente qué son una declaración de cambio y las expresiones lambda en C#. Una declaración de cambio es una declaración de flujo de control que le permite seleccionar uno de los muchos bloques de código que se ejecutarán en función del valor de una expresión. Es como una gran máquina para tomar decisiones en su código. Por ejemplo:

número entero = 2; switch (número) { caso 1: Console.WriteLine("El número es 1"); romper; caso 2: Console.WriteLine("El número es 2"); romper; predeterminado: Console.WriteLine("El número no es ni 1 ni 2"); romper; }

Por otro lado, las expresiones lambda son una forma concisa de crear funciones anónimas en C#. Son muy útiles cuando necesitas una pequeña función para un uso a corto plazo, como en las consultas LINQ. Por ejemplo:

Func<int, int> cuadrado = x => x * x; resultado int = cuadrado(5); Console.WriteLine(resultado);

Entonces, ¿podemos mezclar estos dos? Bueno, la respuesta corta es sí, pero es un poco más complicado que simplemente juntarlos.

En las declaraciones de cambio tradicionales, está acostumbrado a usar valores simples como números enteros, cadenas o enumeraciones como casos. Pero cuando se trata de expresiones lambda, las cosas se ponen un poco más interesantes. Puede usar expresiones lambda dentro de una expresión switch (una versión más moderna y concisa de la declaración switch introducida en C# 8.0).

Digamos que tienes una lista de números y quieres realizar diferentes acciones según algunas condiciones. Podrías usar una expresión de cambio con expresiones lambda como esta:

Lista<int> números = nueva Lista<int> { 1, 5, 10, 15 }; foreach (var número en números) { var acción = cambio de número { _ cuando (x => x < 5)(número) => () => Console.WriteLine($"{número} es menor que 5"), _ cuando (x => x >= 5 && x < 10)(número) => () => Console.WriteLine($"{número} está entre 5 y 10"), _ cuando (x => x >= 10)(número) => () => Console.WriteLine($"{número} es mayor o igual a 10"), _ => () => Console.WriteLine("Esto nunca debería suceder") }; acción(); }

Aquí, estamos usando expresiones lambda en elcuandocláusulas de la expresión switch. El_es un patrón de descarte, lo que significa que coincide con cualquier valor. Las expresiones lambda definen las condiciones y, según la condición que se cumpla, se asigna una acción adecuada (otra expresión lambda) alacciónvariable y luego ejecutada.

Ahora, hablemos de cómo esto se relaciona con nuestros productos Switch. En nuestra empresa, ofrecemos una amplia gama de interruptores, cada uno con sus propias características y casos de uso únicos. Por ejemplo, elD4A - 4501N D4A - 4510N Interruptor de límitees una excelente opción para aplicaciones donde necesita detectar la presencia o ausencia de un objeto dentro de un rango específico. Es como un cambio del mundo real que toma decisiones basadas en ciertas condiciones, al igual que nuestras declaraciones de cambio de C#.

El514120 Actuadores otro componente importante. Se puede utilizar para activar o desactivar un interruptor en función de factores externos. En términos de programación, es como el evento externo que desencadena un caso determinado en una declaración de cambio.

Z-15GQ21-B Basic SwitchD4A-4501N

Y luego está elZ - 15GQ - B Q8 Q21 Q22 Interruptor Básico. Este es un interruptor simple pero confiable que se puede usar en una variedad de aplicaciones básicas. Es el equivalente a un caso básico en una declaración de cambio, que maneja los escenarios más comunes.

En el desarrollo de software, la capacidad de utilizar expresiones lambda con declaraciones de cambio le brinda más flexibilidad y potencia. Puede crear una lógica de toma de decisiones más compleja que pueda adaptarse a diferentes situaciones. De igual forma, en el mundo de los interruptores, contar con una gama diversa de productos nos permite satisfacer las necesidades de diferentes industrias y aplicaciones.

Ya sea que esté trabajando en un pequeño proyecto de bricolaje o en un sistema de automatización industrial a gran escala, tener el interruptor adecuado es fundamental. Al igual que tener las construcciones de código correctas en tus proyectos de programación te hace la vida mucho más fácil.

Si está buscando interruptores de alta calidad, lo tenemos cubierto. Nuestros interruptores están fabricados para durar, con materiales de primera calidad e ingeniería de precisión. Entendemos que cada proyecto es único y estamos comprometidos a ayudarlo a encontrar el interruptor perfecto para sus necesidades.

Si está interesado en obtener más información sobre nuestros productos o tiene alguna pregunta sobre qué interruptor sería mejor para su aplicación, no dude en comunicarse con nosotros. Siempre estamos aquí para conversar y ayudarlo a tomar la decisión correcta. Ya sea usted un aficionado o un ingeniero profesional, nos encantaría trabajar con usted. Entonces, ¡ven y comencemos este viaje juntos!

Referencias

  • Guía de programación de C#, Microsoft Docs
  • "C# en profundidad" de Jon Skeet

Envíeconsulta