2009-01-20 12 views
6

Ich bin ziemlich verwirrt über mehrere Bücher in .NET, die ich gelesen habe. Möchte jemand da draußen mir erklären, was ein Bezeichner ist und wie er sich von einer Variablen unterscheidet? Oder Variablen und Bezeichner sind gleich?Identifikatoren oder Variablen: Welches ist was?

Vielen Dank im Voraus.

Antwort

19

Der Unterschied zwischen einer Variablen und einem Bezeichner ist derselbe wie zwischen einer Person und ihrem Namen.

Eine Variable ist kein Bezeichner. Eine Variable hat eine Kennung. Es hat auch einen Typ und (wenn es initialisiert ist) einen Wert.

beispielsweise der Befehl:

bool isClosed = true; 

deklariert und initialisiert eine Variable mit dem Namen (identifier) ​​isClosed, Typ bool und Wert true.

Natürlich sagen wir normalerweise "isClosed ist eine Variable ..." "isClosed hat einen Wert von True" ... aber in der gleichen Weise wie wir sagen "Peter ist ein Software-Ingenieur", "John ist müde" ... das heißt, wir beziehen uns auf die Variable anhand ihres Namens.

+1

Schöner Vergleich! –

+1

Eine ausführliche Erklärung, danke! –

+1

Gutes Beispiel. +1 –

1

Identifikatoren sind die syntaktischen Mittel zur Identifizierung von Variablen. Variablen verweisen auf den Speicher innerhalb Ihres Programms, in dem Sie einen Wert oder einen Verweis auf ein Objekt speichern können. Ein Bezeichner ist der grammatische Weg, um diese Variable anzuzeigen. Oft ist der Begriff der Bezeichner allgemeiner als nur für Variablen. Ein Identfinder kann auch eine Methode identifizieren. Daher gelten die gleichen graphischen Regeln, die für die Benennung von Variablen gelten, auch für Benennungsmethoden oder -funktionen. Klassen, Methoden und Variablen sind alle durch Identifikatoren gekennzeichnet.

13

Bezeichner sind Namen, die Sie zur Beschreibung Ihrer Klassen, Ihrer Methoden, Ihrer Variablen usw. verwenden.

Eine Variable wird durch einen Bezeichner bezeichnet und bezeichnet einen Speicherbereich, der durch die Verwendung des Bezeichners manipuliert werden kann.

+0

+1, schlagen Sie mich dazu, aber Ihre Antwort ist klar und prägnant. ;) – AnthonyWJones