Galileo Computing <openbook>
Galileo Computing - Programming the Net
Galileo Computing - Programming the Net


C# von Eric Gunnerson
Die neue Sprache für Microsofts .NET-Plattform
C# - Zum Katalog
gp Kapitel 14 Bereiche lokaler Variablen

Kapitel 14 Bereiche lokaler Variablen

In C# können lokale Variablen nur mit Namen versehen werden, über die sie in einem vorgegebenen Bereich eindeutig identifiziert werden können. Weist ein Name in einem Bereich mehrere Bedeutungen auf und kann der Name nicht eindeutig identifiziert werden, ist die innerste Deklaration des Namens fehlerhaft und muss geändert werden. Sehen Sie sich folgendes Beispiel an:

using System;
class MyObject
{
    public MyObject(int x, int y)
    {
        this.x = x;
        this.y = y;
    }
    int x;
    int y;
}

In der Erstellungsroutine bezieht sich x auf den Parameter namens x, da Parameter Vorrang vor Mitgliedsvariablen haben. Für den Zugriff auf die Instanzvariable mit Namen x muss dieser das Präfix this. hinzugefügt werden, um zu kennzeichnen, dass es sich um eine Instanzvariable handelt.

Zur Vermeidung eines Namenskonfliktes, wird diese Methode dem Umbenennen des Erstellungsparameters oder der Mitgliedsvariablen vorgezogen.

In der folgenden Situation besteht keine Möglichkeit, beide Variablen zu benennen, daher ist die innere Deklaration ein Fehler:

// Fehler
using System;
class MyObject { public void Process() { int x = 12; for (int y = 1; y < 10; y++) { // Hier keine Möglichkeit zur Benennung des äußeren x. int x = 14; Console.WriteLine("x = {0}", x); } } }

Da die innere Deklaration von x die äußere Deklaration von x ausblenden würde, ist dieser Code nicht erlaubt.

C# weist diese Beschränkung auf, um die Codelesbarkeit und die Verwaltbarkeit des Codes zu verbessern. Ohne diese Beschränkung wäre es innerhalb eines verschachtelten Bereichs schwierig, die verwendete Version der Variablen zu ermitteln – oder überhaupt festzustellen, dass mehrere Versionen vorhanden sind.

   

Select * from SQL Server 2000




Copyright © Galileo Press GmbH 2001 - 2002
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, fon: 0228.42150.0, fax 0228.42150.77, info@galileo-press.de