Object und Generika

Dipsi

Mitglied
Hallo an alle

Ich versuche mich gerade ein bisschen tiefer in C#.NET einzuarbeiten.

In meinem Buch ist eine Übung aufgeführt die so lautet:
- Zwei Klassen mit identischer Funktionalität erstellen.
- Für die erste Klasse soll ich Generika verwenden.
- Und bei der zweiten eine Typkonventierung in "Object".
- Mit einer "For"-Schleife testen welche Verarbeitung schneller ist.

Ich sag mal Generika. :D Aber kann mir da jemand helfen, wie ich das programmieren soll?
Ich weiss nicht ob ich die Aufgabe richtig verstanden habe.
Wie soll ich das in einer "For"-Schleife testen? Eine Methode ausführen?

Danke.
 
Hi,

Einfaches Beispiel mit den von .NET gelieferten Klassen:
C#:
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
using System.Collections;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            List<int> listGeneric = new List<int>();
            ArrayList listObject = new ArrayList();
            Stopwatch watch = new Stopwatch();
            long result = 0;
            Console.WriteLine("caluclating generic");
            watch.Start();
            for (int i = 0; i < 2000000; i++)
			{
                listGeneric.Add(i);
			}
            for (int i = 0; i < listGeneric.Count; i++)
			{
                result += listGeneric[i];
			}
            watch.Stop();
            Console.WriteLine("finished: {0} ms", watch.ElapsedMilliseconds);
            watch.Reset();
            result = 0;
            Console.WriteLine("caluclating object");
            watch.Start();
            for (int i = 0; i < 2000000; i++)
			{
                listObject.Add(i);
			}
            for (int i = 0; i < listObject.Count; i++)
			{
                result += (int)listObject[i];
			}
            watch.Stop();
            Console.WriteLine("finished: {0} ms", watch.ElapsedMilliseconds);
            Console.ReadLine();
        }
    }
}
caluclating generic
finished: 52 ms
caluclating object
finished: 391 ms
 
Zurück