コード例 #1
0
    static void LastNamesOfActorsWithSameFirstNameAs(MoviesDB moviesDB, bool printSep, int width)
    {
        long msecs1 = Environment.TickCount;

        int maxActorId = 0;

        foreach (Actor a in moviesDB.actors.Values)
        {
            if (a.id > maxActorId)
            {
                maxActorId = a.id;
            }
        }
        int numOfIds = moviesDB.actors.Count / 10;

        int[] randomIds = RandomInts(maxActorId, numOfIds, 35102);

        int maxNo  = 0;
        int misses = 0;

        foreach (int id in randomIds)
        {
            Actor actor;
            if (moviesDB.actors.TryGetValue(id, out actor))
            {
                List <String> actors = moviesDB.LastNamesOfActorsWithSameFirstNameAs(actor);
                if (actors.Count > maxNo)
                {
                    maxNo = actors.Count;
                }
            }
            else
            {
                misses++;
            }
        }

        long msecs2 = Environment.TickCount;

        PrintTime(msecs2 - msecs1, printSep, width);
    }