1. #1
    Avatar von Snees
    Registriert seit
    18.11.2011
    Beiträge
    1.001
    Thanked 590 Times in 319 Posts

    Standard [C#] Arrays und for-Schleifen

    Hier ein kleines Beispiel, wie man in C# mit Arrays arbeitet und diese mit einer einfachen for-Schleife auslesen kann.

    Code:
    /* Arbeiten mit Arrays in Verbindung mit for-Schleifen
     * Autor: Nico @ U-Hacks.net */
    
    using System;
    
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            { 
                
                
                /*
                 * Kurze Erklärung einer for-Schleife
                 * angenommen ihr habt eine Schleife:
                 * for (int i = 0; i < 3; i++)
                 * stellt euch das nun so vor:
                 * for (1;2;3)
                 * 1: Einen Integer deklarieren und einen Wert zuweisen
                 * 2: Die Bedingung, solange diese Bedingung erfüllt ist wird die Aktion in der for-Schleife ausgeführt
                 * 3: Den Wert der Integer Variablen um 1 erhöhen, dazu gibt es auch zwei Möglichkeiten:
                 * 3.1: i = i + 1;
                 * oder
                 * 3.2: i++;
                */
    
    
    
                /* Es gibt 2 Möglichkeiten, die eine Möglichkeit ist allerdings nicht so schön
                und es können oft Fehler entstehen, die man ganz leicht vermeiden kann. */
    
                // Die erste Möglichkeit wäre:
    
                string[] Userlist = new string[3];
                Userlist[0] = "James";
                Userlist[1] = "Charles";
                Userlist[2] = "Jamal";
    
                for (int i = 0; i < 3; i++)
                {
                    Console.WriteLine("(" + i + ") " + Userlist[i]);
                }
    
                Console.ReadKey();
    
                /* Man gibt direkt an, wie viele Strings darin gespeichert werden sollen,
                 * wenn man nun aber einen Wert hinzufügt, müsste man:
                 * "new string[3"] zu "new string[4]" ändern und
                 * "for (int i = 0; i < 3; i++)" zu "for (int i = 0; i < 4; i++)"
                 * Man muss also die 3 zweimal zu der 4 ändern, weil dann ja 4 Einträge gespeichert wären. 
                */
    
    
    
                // Die zweite Möglichkeit ist einfacher und schneller zu schreiben
    
                string[] Userliste = new string[]
                {
                    "James",
                    "Charles",
                    "Jamal"
                };
    
                for (int i = 0; i < Userliste.Length; i++)
                {
                    Console.WriteLine("(" + i + ") " + Userliste[i]);
                }
    
                Console.ReadKey();
    
                /*
                 * Man gibt nicht vor, wie viele Einträge sich darin befinden werden
                 * Fügt die Einträge wesentlich einfacher und schneller hinzu
                 * und muss in der for-Schleife nur "i < Userliste.Length" schreiben.
                 * Somit muss man die Anzahl der Einträge nicht anpassen, alles läuft automatisch
                */
    
            }
        }
    }

  2. #2
    Avatar von Mentos
    Registriert seit
    18.11.2011
    Beiträge
    451
    Thanked 498 Times in 240 Posts

    Standard AW: [C#] Arrays und for-Schleifen

    Und noch schneller geht es mit foreach.
    Ich finde Performance-Angelegenheiten manchmal ganz nett:
    Die Performance von C#-Programmen « Das Megos .NET-Weblog
    „Es sind nicht unsere Fähigkeiten, die zeigen, wer wir wirklich sind, es sind unsere Entscheidungen.“
    - Albus Dumbledore, Harry Potter 2


    /guestchat registerGuest

  3. The Following 2 Users Say Thank You to Mentos For This Useful Post:

    Snees (19.11.2011)

  4. #3
    Avatar von Snees
    Registriert seit
    18.11.2011
    Beiträge
    1.001
    Thanked 590 Times in 319 Posts

    Standard AW: [C#] Arrays und for-Schleifen

    foreach macht den Code um 50% schneller, die zweite Methode, die ich angesprochen habe macht den Code um 20% schneller, weil der Compiler merkt, dass er keine Bereichsprüfung machen muss.

    foreach:
    Code:
    string[] Userliste = new string[]
                {
                    "James",
                    "Charles",
                    "Jamal"
                };
    
                foreach (string eintrag in Userliste)
                {
                    Console.WriteLine(eintrag);
                }

  5. The Following User Says Thank You to Snees For This Useful Post:


  6. #4

    Registriert seit
    28.10.2011
    Beiträge
    625
    Thanked 279 Times in 168 Posts

    Standard AW: [C#] Arrays und for-Schleifen

    Gut dass man dies mal betont ^^ Wer kommt denn auch auf die Idee, dass des Leistungs/Performance-Technisch nicht sinnvoll ist. Nicht unbedingt jeder.

  7. The Following User Says Thank You to Bubble Gum For This Useful Post:

    Snees (19.11.2011)

  8. #5
    Avatar von Snees
    Registriert seit
    18.11.2011
    Beiträge
    1.001
    Thanked 590 Times in 319 Posts

    Standard AW: [C#] Arrays und for-Schleifen

    Da hast du Recht, viele User die hier entwickeln werden aber wahrscheinlich nicht unbedingt darauf achten, dabei ist es schon ein Unterschied, welche Art der Schleife man nutzt. Bei einem Array mit 5 Einträgen wird es vielleicht nicht unbedingt notwendig sein, aber wenn man 1000 Einträge hat ist es sinnvoll, 50% ist viel und das mit zwei Zeilen Code die man verändern muss!
    LG

Ähnliche Themen

  1. Antworten: 5
    Letzter Beitrag: 05.01.2017, 09:31
  2. C# Assoziative Arrays in C#?
    Von Essah im Forum .Net
    Antworten: 1
    Letzter Beitrag: 24.11.2013, 17:15
  3. Antworten: 1
    Letzter Beitrag: 29.01.2013, 18:53
  4. Problem mit Schleifen
    Von exception im Forum Hochsprachen
    Antworten: 7
    Letzter Beitrag: 20.07.2012, 11:55
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.