eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming.Net Dictionary (System.Collections) problem z wyszukiwaniem...Re: .Net Dictionary (System.Collections) problem z wyszukiwaniem...
  • Data: 2009-08-19 17:39:07
    Temat: Re: .Net Dictionary (System.Collections) problem z wyszukiwaniem...
    Od: Marcin Kral <k...@p...na-onecie.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu 2009-08-19 18:31, Marcin Połeć pisze:
    > Bartek Etenkowski<n...@c...cz> napisał(a):
    >> na pierwszy rzut oka to problem moĹźe byÄ? z robieniem wielu konkatenacji
    >> (o ile Check(s) wiele razy zwraca prawdÄ?). SprĂłbuj tak:
    >>
    >> StringBuilder result = new StringBuilder();
    >> foreach (string s in kombinacje)
    >> if (Check(s))
    >> {
    >> result.Append(s);
    >> result.Append(", "); // albo zamiast tych dwĂłch
    >> result.AppendFormat("{0}, ", s);
    >> }
    >> ret = result.ToString();
    >>
    >> Powinno byÄ? szybciej. Nie kompilowaĹ?em tego, metoda ctrl+c, ctrl+v
    >> dziaĹ?aÄ? nie musi. :)
    >>
    >> Pozdrawiam,
    > znacznego przyspieszenia nie odnotowałem, średni czas przeszukiwania wciąż
    > jest około 17sekund

    Generalnie to jak juz wyzej poradzono lepiej skupic sie na zlozonosci
    algorytmu. To tutaj to kwestie implementacyjne. Jakkolwiek, dla duzej
    liczby konkatenacji StringBuilder jest wydajniejszy. Jezeli funkcja go
    uzywajaca jest czesto wolana to warto StringBuildera tworzyc raz i
    odpalac clear() na poczatku funkcji go uzywajacej. (Chodzi o
    zmniejszenie liczby alokacji). Inna sprawa - jezeli chcesz bawic sie w
    takie drobnostki - zamiast foreach uzyj zwyklego for.
    np.

    int liczbaKombinacji = kombinacje.Count;
    string s = String.Empty;

    for(int i = 0; i < liczbaKombinacji; i++)
    {
    s = liczbaKombinacji[i];
    // operacje na s
    }

    --
    Pozdrawiam
    Marcin Kral

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: