Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 2582|Respuesta: 1

[Fuente] .NET/C# elige hábilmente índices en foreach

[Copiar enlace]
Publicado en 1/2/2024 20:26:18 | | | |
Introducción

Los bucles for y foreach son una de las construcciones más útiles en la caja de herramientas para desarrolladores de C#.
En mi opinión, iterar sobre una colección es más cómodo que en la mayoría de los casos.
Funciona con todos los tipos de colecciones, incluidas las no indexables (como , y no requieren acceso al elemento actual a través del índice).
Pero a veces, realmente se necesita un índice del elemento actual; Me encontré con este problema hace un tiempo cuando usaba foreach para recorrer colecciones en desarrollo. Esto suele usar uno de los siguientes patrones:


Siempre me ha molestado; ¿No podemos obtener tanto valores como índices?
Hay una solución sencilla con Linq y las tuplas.

Solución 1:

Simplemente escribe un método de extensión así:

Por favor, introduce el código anterior en el siguiente espacio de nombres:

Método de llamada:

Nota: Detrás de la colecciónWithIndex();

Solución 2:

Si te resulta engorroso el método de extensión, también puedes usar la Solución 2

Ya está hecho, tiene un pequeño impacto en el rendimiento, ¡puedes observar su uso bajo demanda!





Anterior:Nginx desactiva las soluciones inválidas TLSv1.0 y TLSv1.1
Próximo:Consultas de oráculo devuelven problemas de campos con mayúsculas completas
 Propietario| Publicado en 24/2/2024 17:00:44 |
Colecciones de pares .NET 9Se añadió el método de extensión de índice, puedes obtener el índice directamente, consulta:El inicio de sesión del hipervínculo es visible.

Índice estático público de Sistema.Colecciones.Genérico.IEnumerable<(int Índice, Elemento TSource)><TSource> Índice (esta fuente System.Collections.Generic.IEnumerable<TSource>);

Descarga la vista previa de VS 2022 en:El inicio de sesión del hipervínculo es visible.

Descarga de la vista previa de .NET 9.0:El inicio de sesión del hipervínculo es visible.

Crea una nueva aplicación de consola .NET 9 con el siguiente código:







Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com