title image


Smiley Best practice-Frage: Anzahl Funktionsaufrufe von wem?
Hi Forum,



ich habe eine Funktion, die von verschiedenen Sendern aufgerufen wird. Diese Sender übergeben ein Objekt. ich möchte nun wissen, wie oft z.B. der Sender mit dem String "Hallo" diese Funktion aufgerufen hat.



Ich habe dazu eine Lösung, die mir aber nicht ganz clever erscheint. ich arbeite mit wei SortedLists, anbei der Code. Im Beispiel übergebe ich ein paar Mal verschiedene Strings an eine Funktion.



Geht es so oder gibt's was Besseres?



using System;

using System.Collections.Generic;

using System.Text;

using System.Collections;



namespace ConsoleApplication1

{

    class Program

    {

        Static SortedList myList = New SortedList();

        Static SortedList temp = New SortedList();



        Static void Main(String[] args)

        {



            int h = 12;

            int x = 20;



            For (int i = 0; i < h; i++)

            {

                Counter("yoyoyo");

                For (int z = 0; z < x; z++)

                {

                    Counter("tttt");

                }



            }



            Console.WriteLine("Caller wurde von yoyoyo " + myList.GetByIndex(myList.IndexOfKey("yoyoyo")).ToString() + " aufgerufen!");

            Console.WriteLine("Caller wurde von tttt " + myList.GetByIndex(myList.IndexOfKey("tttt")).ToString() + " aufgerufen!");

            Console.ReadLine();

        }





        Public Static void Counter(String sCaller)

        {

            



            If (!myList.ContainsKey(sCaller))

            {

                myList.Add(sCaller, 1);

            }

            Else

            {

                int lastValue = (int)myList.GetByIndex(myList.IndexOfKey(sCaller));

                lastValue++;

                temp.Add(sCaller, lastValue);



                For (int z = 0; z < myList.Count; z++)

                {

                    If (!temp.Contains(myList.GetKey(z)))

                    {

                    temp.Add(myList.GetKey(z), myList.GetByIndex(z));

                    }

                }



                myList = temp;

                temp = New SortedList();







            }

        }

    }

}

Code eingefügt mit Syntaxhighlighter 1.14
Viele Grüße,
Torben


I would give my right arm to be ambidextrous.
Bitte gebt Rückmeldung, auch bei unbrauchbaren Tipps. So kann ich erfahren, ob ich auf dem Holzweg war oder richtig gelegen habe. "Danke im Voraus" ersetzt kein Feedback!




geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: