Hilfe bei XML-Tutorial



  • Hallo an alle,

    ich lese schon seit einiger Zeit die Tipps aus dem Forum und nun möchte ich gerne selber auch einmal Hilfe beansprachen.
    Zu mir selbst, ich habe erst vor einiger Zeit mir C# angefangen und komme von der Interpreter-Sprachen-Schiene (Perl, Python, PHP, etc.).

    Um mir XML etwas näher zu bringen, habe ich mir einige Tutorials angeschaut und das u.g. finde ich auch sehr gut und habe auch verstanden was da vor sich geht.
    Das einzige Problem ist, der Teil am Ende:

    Wenn ich das richtig verstanden habe, dann wird am Ende das Array "nations" erzeugt mit der jeweiligen Anzahl an "Nation structs".

    Aaaaber, wie bekomme ich die anschließend wieder aus dem Array heraus? 😞

    Wäre echt toll, wenn mir jemand helfen könnte, der Link zum Tutorial ist

    http://www.devhood.com/tutorials/tutorial_details.aspx?tutorial_id=30

    und es geht halt um den letzten Codeblock.

    Danke schon mal im Voraus!



  • Grüß dich, dein Problem ist garnicht so wild 🙂

    Bei einem Struct handelt es sich letztlich auch um eine von Object abgeleitete Klasse.

    Wenn du nun etwas in einer Object Variable speicherst (Und ArrayList arbeitet defenitiv mit Object) musst Du sie beim Wiederverwenden Casten. Auf die einzelnen Idexe greifst du mit [i] zu. Also

    Nation myNation = (Nation)nations[0];
    

    Auf die einzelnen Elemente innerhalb von Nation greifst du wie immer mit dem Punkt (.) zu

    //etwa du nimmst einen temporäre variable dafür her, z.B. wie oben "myNation"
    Nation myNation = (Nation)nations[0];
    Console.WriteLine(myNation.name);
    
    //oder direkt
    Console.WriteLine((Nation)nations[0]).name);
    

    Am Anfang ist das alles noch ein bischen verwirrend, aber bei der Sprache wirste bleiben. Weil im Endeffekt alles sehr leicht zu programmieren ist. Bei C# handelt es sich nämlich um eine vollständig Objektorientierte Sprache. Alles ist ein Object, und deswegen kannst du alles in einem Object speichern, ABER du musst der Umgebung beim Verwenden sagen WAS sich in diesem Object befindet.

    Gruß

    Markus Seidl



  • Hab dir zwar im ICQ schon gedankt, aber hier auch noch mal ein großes Dankeschön für die tolle Erklärung! 🙂



  • Ich würde aber mit dem as Operator casten, denn dieser gibt im Falle eines Fehlers null zurück.

    Nation myNation = nations[0] as Nation;
    if ( myNation != null )
        //...
    

Log in to reply