tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
14
ZUGRIFFE
948
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    eliasb eliasb ist offline Mitglied Silber
    Registriert seit
    Apr 2004
    Beiträge
    63
    Hallo

    Ich wollte mal ausprobieren, ob ich mit C# z.B. auch einzelne Array-Elemente in Variablen speichern kann! Ich habe aber festgestellt, dass dies nicht möglich ist, da die Variablen nur in den Schleifen gültig sind!

    Nun (endlich) zu meiner Frage:

    Wie kann ich jedes einzelne Array-Element in eine Variable speicher?

    Falls das nicht funktionier: Wie kann ich denn sonst beispielsweise bei einer mySQL-Abfrage, die empfangenen Daten abrufen?


    MfG
     

  2. #2
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Die Variablen sind dort gültig, wo du sie definierst. Tust du das in einer Schleife, sind sie nur in einer Schleife gültig. Tust du das innerhalb einer Methode, dann eben nur in der Methode gültig usw.
     

  3. #3
    eliasb eliasb ist offline Mitglied Silber
    Registriert seit
    Apr 2004
    Beiträge
    63
    aber wenn ich das, wie in dem Code unten mache, gibts auch eine Fehlermeldung!

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    
    using System;
     
    namespace lernen8
    {
        class MainClass
        {
            public static void Main(string[] args)
            {
                int[] sArray = new int[10];
                int zahl2;
                
                for(int i=0; i < sArray.Length; i++)
                {
                    sArray[i] = i * i;
                }
                
                foreach(int zahl in sArray)
                {
                    zahl2 = zahl; 
                    Console.WriteLine("sArray = {0}",zahl);
                }
                
                Console.WriteLine(zahl2);
                
                Console.ReadLine();
            }
        }
    }

    Fehler:
    error CS0165: Use of unassigned local variable 'zahl2'
    Also ist die Variable zahl2 nur in der Schleife deklariert worden, und ausserhalb der Schleife icht ansprechbar, oder?

    PS: Vielen Dank für Deine Antwort!

    MfG
     

  4. #4
    Avatar von broetchen
    broetchen broetchen ist offline Mitglied Gold
    Registriert seit
    Feb 2004
    Ort
    Österreich/Wien
    Beiträge
    181
    Nein, er schreit, dass zahl2 möglicherweise keinen Wert hat!

    Es kann sein, dass die foreach-Schleife nie durchrennt, da das Array auch leer sein könnte, wodurch zahl2 nie einen Wert zugewiesen bekommen würde.

    mfg broetchen

    P.S.: Das hier wäre die Erklärung des Fehlers, den der Compiler wirft.
     

  5. #5
    eliasb eliasb ist offline Mitglied Silber
    Registriert seit
    Apr 2004
    Beiträge
    63
    aber das Array wurde mit Werten gefüllt!
     

  6. #6
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Ähm, der Fehler sollte aber eigentlich schon kommen, wenn du dein Projekt kompilieren willst (wenn du Visual Studio nutzt).

    Das hat damit zu tun, dass die Variablen initialisiert werden müssen.

    Mach halt einfach ein int zahl2 = 0; und die Geschichte hat sich erledigt.
     

  7. #7
    eliasb eliasb ist offline Mitglied Silber
    Registriert seit
    Apr 2004
    Beiträge
    63
    dann gibt es keine Möglichkeit, die Elemente eines Array in Variablen zu speichern?

    PS: Vielen Dank für die Antwort!
     

  8. #8
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Probier es aus, dann siehst du, dass es geht ...
     

  9. #9
    eliasb eliasb ist offline Mitglied Silber
    Registriert seit
    Apr 2004
    Beiträge
    63
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    
    using System;
     
    namespace lernen8
    {
        class MainClass
        {
            public static void Main(string[] args)
            {
                int[] sArray = new int[10];
                int zahl2 = 0;
                
                for(int i=0; i < sArray.Length; i++)
                {
                    sArray[i] = i * i;
                }
                
                foreach(int zahl in sArray)
                {
                    if(zahl == 4)
                    {
                    zahl2 = zahl; 
                    }
                    
                    Console.WriteLine("sArray = {0}",zahl);
                }
                
                Console.WriteLine(zahl2);
                
                Console.ReadLine();
            }
        }
    }

    Cool, so funktionierts!

    Merke mir: Um ein array-Elemente in einer Variable zu speichern, MUSS die Variable ausserhalb der Schleife definiert und deklariert sein, richtig?

    Vielen Dank!
     

  10. #10
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Nicht ganz .. wenn der Inhalt in einer Schleife etc. auf gleicher Höhe verwendet werden soll. Dann passts.
     

  11. #11
    eliasb eliasb ist offline Mitglied Silber
    Registriert seit
    Apr 2004
    Beiträge
    63
    dann: Um in einer Schleife ein beliebiges Array-Element in einer Variable zu speicher, muss die Variable ausserhalb der Schleife definiert und deklariert werden, richtig?
     

  12. #12
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Du kommst langsam dahinter.
    Mach dich gleich mal über Gültigkeitsbereiche von Varialblen schlau.
    Linkliste C#
    Das "Gilileo-Openbook" und der "Guide to C#" bringen dich als Anfänger erstmal weiter.

    MfG, cosmo
    Geändert von Christian Kusmanow (21.04.05 um 15:31 Uhr)
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  13. #13
    eliasb eliasb ist offline Mitglied Silber
    Registriert seit
    Apr 2004
    Beiträge
    63
    Um in einer Schleife ein beliebiges Array-Element in einer Variable, die auch ausserhalb der Schleife gültig sein soll, zu speichern, muss die Variable ausserhalb der Schleife definiert und deklariert werden, richtig?
     

  14. #14
    Avatar von broetchen
    broetchen broetchen ist offline Mitglied Gold
    Registriert seit
    Feb 2004
    Ort
    Österreich/Wien
    Beiträge
    181
    Bingo

    Is doch irgendwie logisch, oder!?
     

  15. #15
    eliasb eliasb ist offline Mitglied Silber
    Registriert seit
    Apr 2004
    Beiträge
    63
    ja, so Logikgehalt von etwa 75%
     

Ähnliche Themen

  1. Geht das auch kürzer? if-schleifen
    Von MClay im Forum Flash Plattform
    Antworten: 3
    Letzter Beitrag: 18.06.07, 10:50
  2. Warum reagiert xmouse und ymouse auch ausserhalb?
    Von beckersbesters im Forum Flash Plattform
    Antworten: 1
    Letzter Beitrag: 29.11.06, 14:22
  3. Variablen und Schleifen
    Von supersalzi im Forum PHP
    Antworten: 8
    Letzter Beitrag: 28.06.05, 01:03
  4. Effekt auch ausserhalb des Flash-Films?
    Von Zigi im Forum Flash Plattform
    Antworten: 1
    Letzter Beitrag: 21.02.05, 20:29
  5. CSS auch in Email nutzen?
    Von Amr0d im Forum CSS
    Antworten: 5
    Letzter Beitrag: 18.10.04, 18:32