Announcement

Collapse
No announcement yet.

Deklaration und Gültigkeit von Variablen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Deklaration und Gültigkeit von Variablen

    Hallo,
    <br>
    <br>ich habe zu dem folgenden code mal eine Frage:
    <br>(Mal abgesehen, von dem Sinn bzw. der unschönen (barbarischen) Kodierung )
    <pre>
    static void Main(string[] args)
    {
    //
    // TODO: Fügen Sie hier Code hinzu, um die Anwendung zu starten
    //
    string sTemp = "";
    //erste for Schleife
    for (int i = 0; i < 10; i++)
    {
    sTemp = sTemp + "1";
    }

    /*zweite For Schleife
    for (int i = 0; i < 10; i++)
    {
    sTemp = sTemp + "2";
    }*/
    int i;
    i = 1;
    }
    </pre>
    <br>Wenn man dies "kompilieren" läßt, so kommt folgende Fehlermeldung:
    <br>Der Name 'i' besteht nicht in der Klasse oder dem Namespace 'ConsoleApplication1.Class1'
    <br>Bemängelt wird in der dritt letzten Zeile:
    <br>int i;
    <br>Läßt man "int i;" weg, so wird der selbe Fehler erneut ausgegebn jedoch (zurecht meine ich) bei "i=1;"
    <br>
    <br>Die Deklaration von i in der ersten Schleife gilt doch nur für die erste Schleife, oder?
    <br>
    <br>Läßt man "int i;" und "i=1;" so wird ohne Fehler "kompiliert", selbst wenn man die zweite For Schleife mit aufnimmt.
    <br>
    <br>Wie darf ich das verstehen?
    <br>
    <br>Vielen Dank schon mal für die Antworten.
    <br>(Es ist wohl nicht erwähnenswert, das das saumäßig kodiert ist. Aber rein theoretisch müßte das doch gehen, oder?)
    <br>
    <br>mfg
    <br>PS

  • #2
    Hallo,

    Variablen, die für eine for-Schleife definiert worden sind, können in der selben Methode erneut definiert werden. Die Variable int ist daher dreifach vergeben (2x for und 1x als normale Variable).

    Daher würde ich unterschiedliche Bezeichnungen für die Variablen wählen.

    Schöne Grüße

    Jör

    Comment


    • #3
      Hallo Jörg,
      <br>
      <br>>Die Variable int ist daher dreifach vergeben (2x for und 1x als normale Variable).
      <br>
      <br>heißt das, dass das theoretisch möglich sein sollte?
      <br>Aber wieso kommen dann die Kompilerfehler?
      <br>
      <br>Probiere den Code mal es ist wirklich eigenartig.
      <br>Ach ja ich vergaß: .Net2003 wird benutzt.
      <br>
      <br>mfg
      <br>Patrick
      <br>
      <br>>Daher würde ich unterschiedliche Bezeichnungen für die Variablen wählen.
      <br>
      <br>Wohl war. (bzw. siehe im ersten Thread letzte Bemerkung in Klammern

      Comment


      • #4
        Hallo Jörg,

        >Die Variable int ist daher dreifach vergeben (2x for und 1x als normale Variable).

        heißt das, dass das theoretisch möglich sein sollte?
        Aber wieso kommen dann die Kompilerfehler?

        Probiere den Code mal es ist wirklich eigenartig.
        Ach ja ich vergaß: .Net2003 wird benutzt.

        mfg
        Patrick

        >Daher würde ich unterschiedliche Bezeichnungen für die Variablen wählen.

        Wohl wahr. (bzw. siehe im ersten Thread letzte Bemerkung in Klammern

        Comment

        Working...
        X