[C#] Der Index war außerhalb des Arraybereichs.

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Flu, 16. Dezember 2008 .

Schlagworte:
  1. 16. Dezember 2008
    Der Index war außerhalb des Arraybereichs.

    Habe eine frage zu einer Aufgabe. ich soll eine liste mit alle ungeraden zahlen bis hundert mache ( 1, 3, 5, ... , 99). diese zahlen möchte ich dann in einer Liste speichern ( größe unbekannt) um später per eingabe auf ein bestimmtes element der Liste zugreifen zu können.
    habe schonmal angefangen diese liste zu erstellen. aber wenn ich das ganze dann ausführen will kommt dieser fehler:

    Der Index war außerhalb des Arraybereichs.

    hier der code (rot = Fehlerstelle)

    Code:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace ungeradeZahlen
    {
     class Program
     {
     static void Main(string[] args)
     {
     int i = 1;
     int n = 0;
     int x = 0;
     int[] Liste;
     Liste = new int[x];
    
     while ( i != 101)
     {
     Console.WriteLine(i);
     
     [COLOR="Red"]Liste[x] = i;[/COLOR]
    
     i++;
     i++;
     x++;
    
     n = n + i;
    
     if ( i > 99)
     {
     Console.WriteLine("Endergebnis: " + n);
     Console.WriteLine("Ausgabe für eingebene Zahle: " + Liste);
     }
     }
    
     
    
     Console.ReadLine();
     
     }
     }
    }
    
    hoffe ihr könnt mir helfen.

    Flu
     
  2. 16. Dezember 2008
    AW: Der Index war außerhalb des Arraybereichs.

    Code:
     int x = 0;
    ...
     Liste = new int[x];
    
    x ist zum Zeitpunkt der Array-Erstellung 0. Und bei der Array-Erstellung gibt die Zahl zwischen den [] die Anzahl der Elemente an. Und wenn dein Array 0 Elemente hat, kannst du auch nicht auf das 0. zugreifen
     
  3. 16. Dezember 2008
    AW: Der Index war außerhalb des Arraybereichs.

    was hier vlt angebracht ist ist eine Arraylist

    ArrayList-Klasse (System.Collections)

    nicht vergessen -> using System.Collections;
     
  4. 16. Dezember 2008
    AW: Der Index war außerhalb des Arraybereichs.

    und wie erstell ich dann ein array von dem ich die anzahl der indexe nicht weiß, aber wo jedem index in jedem neuen durchlauf der neue wert des i zugewiesen wird?

    bsp.:

    erster durchlauf i = 1 , indexstelle x = 0 also Liste[x] = i
    zweiter durchlauf i = 3 , indexstelle x = 1 also Liste[x] = i
    .
    .
    .


    ich hoffe du verstehst mein problem und kannst mir helfen
     
  5. 16. Dezember 2008
    AW: Der Index war außerhalb des Arraybereichs.

    Code:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Collections;
    
    namespace ConsoleApplication1
    {
     class Program
     {
     static void Main(string[] args)
     {
     ArrayList Ungerade = new ArrayList();
    
     for (int i = 0; i < 101; i++)
     {
     if (i % 2 == 1)
     Ungerade.Add(i);
     }
    
     for (int i = 0; i < Ungerade.Count; i++)
     {
     Console.Write(" {0}", Ungerade[i]);
     }
     Console.ReadKey();
     }
     }
    }
    Ein kleines bespiel bei dem alle ungeraden Zahlen in die ArrayList geschrieben werden und danach ausgegeben
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.