ME VAN A HECHAR DEL TRABAJO.!!!
Bueno no pude contenerme y me puse a codificar eso en tiempo de oficina.
Bien como no podia cambiar lo que tenia puesto que tenia codigo dependiente de esa implementacion ---
bien ese codigo era para performance y tunnig en otros modulos, pero era ajustes menores que en el caso del ejemplo tenian una relevancia de centesimas de segundo sobre el total.... mientras que el problema aca era muchisisimo mas representativo.
Asi que hice lo que me dicto el corazon... reimplemente, borre, adicione...
bien quedo asi ( por el momento pues es version beta por estar en la oficina, aunque ya probe que funciono me toca resstructurar algunas cosas).
Como esa parte del FrameWork aun tiene cosas de la version 1.1 y no le han incluido cosas del 2 tuve que crear una clase
<!--xc1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>
XCODE </td></tr><tr><td id='XCODE'><!--exc1-->
public class ComparaNumxx: IComparer<Valor>
{
public int Compare(Valor x, Valor y)
{
if (x == y)
return 0;
else if (x > y)
return 1;
else return -
1;
}
}
<!--xc2--></td></tr></table><div class='postcolor'><!--exc2-->
ya con eso:
<!--xc1--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>
XCODE </td></tr><tr><td id='XCODE'><!--exc1-->
public Valor[] ObtenerListaNueva(valorEntrada[] lista1,
valorEntrada[] lista2)
{
ComparaNumxx comparador = new ComparaNumxx();
valorEntrada[] listSort =
new valorEntrada[lista1.Length];
List<Valor> listaSalida =
new List<Valor>();
Array.Copy(lista1, listSort, lista1.Length);
Array.Sort(listsort, comparador);
Int32 indiceEncontrado=
0;
foreach (valorEntrada val in lista2)
{
indiceEncontrado = Array.BinarySearch<valorEntrada>(listSort, val , comparador);
if (indiceEncontrado >=
0)
listaSalida.Add(
new Valor(linea.numeroRepeticiones,
(Int16)listSort [indiceEncontrado].consecutivoDeLista));
}
return listaSalida.ToArray();
}
<!--xc2--></td></tr></table><div class='postcolor'><!--exc2-->
donde
consecutivoDeLista es un atributo nuevo que se llena en otras clases y pque permite conocer el numero original del indice antes de ser ordenado el vector para aplicarle la busqueda binaria.
Bueno despues de lo estructure como se debe quedara aun mas rapido pues nuas cosas que coloque en ese metodo realmente deben quedar en otro...
pero eso lo hago esta noche
El tiempo con la mejora actual es = 0seg.
los dejo porque enserio me van a hechar..!!!!