Título: optimizar codigo foreach Publicado por: aspiazu en 8 Abril 2017, 11:09 am Buenas ! Tengo 3 foreach,uno para buscar cuantas carpetas hay en un directorio,otro para buscar los png que hay y otro para buscar los exe que hay. El problema es que para buscar cada exe y luego png doi 36 vueltas ,como puedo arreglarlo?como puedo hacer que solo busque los archivos con esas extensiones y no valla comprobando toodos los archivos? Y como puedo hacer que busque png y jpg? y lo mismo con exe y lnk?
Código
Título: Re: optimizar codigo foreach Publicado por: engel lex en 8 Abril 2017, 13:40 pm esto es c++?
Título: Re: optimizar codigo foreach Publicado por: aspiazu en 8 Abril 2017, 14:24 pm C#
Título: Re: optimizar codigo foreach Publicado por: engel lex en 8 Abril 2017, 14:28 pm tema movido c# es .net
Título: Re: optimizar codigo foreach Publicado por: Eleкtro en 8 Abril 2017, 16:58 pm como puedo hacer que busque png y jpg? y lo mismo con exe y lnk? En el caso de que Unity permita el uso de LINQ (.NET Framework +3.5): Código
En el caso contrario: Código
¡Saludos! Título: Re: optimizar codigo foreach Publicado por: Serapis en 8 Abril 2017, 17:00 pm Buenas ! Tengo 3 foreach,uno para buscar cuantas carpetas hay en un directorio,otro para buscar los png que hay y otro para buscar los exe que hay. El problema es que para buscar cada exe y luego png doi 36 vueltas ,como puedo arreglarlo?como puedo hacer que solo busque los archivos con esas extensiones y no valla comprobando toodos los archivos? Y como puedo hacer que busque png y jpg? y lo mismo con exe y lnk? Cuando estás en el entorno de Visual Studio, selecciona el objeto "Directory" o el método "Getfiles", y pulsa la tecla F2, para abrir el examinador de objetos... Código: foreach (string data in Directory.GetFiles(@dataApp)) { Y si no tienes instalado en casa el MSDN, entonces recurre a internet: https://msdn.microsoft.com/es-es/library/system.io.directory(v=vs.110).aspx ...Entonces verás que el método "Getfiles", tiene varias sobrecargas... Una de ellas por ejemplo tiene esta firma: public static string[] GetFiles(string path, string searchPattern} Luego tú, lo invocarías de manera sencilla así: foreach (string data in Directory.GetFiles(@dataApp, "*.png")) { .... haz lo que quieras con el fichero obtenido... ...pero no te quedes sólo con esa sobrecarga, debes mirar, si otra te resulta aún más útil, en base a lo que luego pretendas hacer con el fichero obtenido... por ejemplo Esta otra sobrecarga, tiene aún una opción más para buscar de forma recursiva en subcarpetas: public static string[] GetFiles(string path, string searchPattern, SearchOption searchOption ) (usando la opción AllDirectories) Con lo que incluso te ahorrarías el bucle externo: Citar if (Directory.Exists(rutasapp)) { También tienes en el mismo objeto directory, el método EnumerateFiles.... foreach (string dataApp in Directory.GetDirectories(rutasapp)) { En fin, es info que está ahí, mejor si está instalado en tu equipo, así te basta usar la tecla F2 para navegar entre los objetos y ver qué método se ajusta mejor a tus necesidades... y si no lo tienes instalado, entonces la dirección de MSDN, debería estás en tus favoritos/marcadores: https://msdn.microsoft.com/es-es/library/ https://msdn.microsoft.com/es-es/library/ms310241 Título: Re: optimizar codigo foreach Publicado por: aspiazu en 8 Abril 2017, 19:45 pm Gracias usando using System.Linq; lo hice.
Echare un vistazo a lo que puso el compi NEBIRE |