2009-02-26 5 views

Antwort

38

In C# können Sie das Standardschlüsselwort verwenden, um Standardwerte zu bestimmen.

Zum Beispiel:

 
default(bool) 
default(int) 
default(int?) 
+1

Nizza "generische" Weg, um die Informationen zu erhalten. Sollte als Antwort akzeptiert werden! –

3

Abhängig vom Typ der Variablen. Wenn der Typ null sein kann, ist der Standardwert null. Nullable-Typen werden alle null starten.

  • Komplexe Typen (String, String) = null
  • Numeric-Typen (int, dezimal, double, Byte) = 0
  • Boolean = false
  • Datetime = DateTime.MinValue (01/01/0001 00:00:00)

Sie können einen Anfangswert gesetzt werden:

String s1 = " Prüfung";

Dim s1 As String = "test"

24

Wollen Sie eine (Methode) Variable? oder ein Feld (für eine Instanz oder einen Typ)?

Für ein Verfahren Ebene Variable (in C# zumindest) es ist irrelevant, da „eindeutige Zuordnung“ bedeutet, dass man muss es einen Wert geben, bevor man es lesen kann.

Felder standardmäßig auf die bitweise Nullzustand:

  • Vorlagearten (einschließlich string), die
  • für Nullable<T> (int? etc) null bedeutet, dass
  • für Numerik null bedeutet, dass 0
  • bedeutet,
  • für enums das bedeutet 0 auch wenn es keine 0-wertige enum definiert
  • für bools, das heißt f alse
  • für Datum- und bedeutet, dass das gleiche wie MinValue
  • für andere Strukturen, werden Sie ihre Dokumentation haben zu überprüfen, aber es wird einen (hoffentlich sinnvoll) „Null/leer“ Wert
12

seiner

Visual Basic .NET definiert die folgenden primitiven Typen:

Der Integralwerttyp Byte (1 Byte unsigned integer), Kurz (2-Byte-Ganzzahl mit Vorzeichen), Integer (4 Dies kann in MSDN gefunden werden -byte signierte Ganzzahl) und Long (8-Byte-Ganzzahl mit Vorzeichen). Diese Typen werden System.Byte, System.Int16, System.Int32 bzw. System.Int64 zugeordnet. Der Standardwert eines ganzzahligen Typs entspricht dem Literal 0.

Die Gleitkommawerttypen Single (4-Byte-Gleitkommazahl) und Double (8-Byte-Gleitkommazahl). Diese Typen werden System.Single bzw. System.Double zugeordnet. Der Standardwert eines Gleitkommatyps entspricht dem Literal 0.

Der Dezimal-Typ (16-Byte-Dezimalwert), der System.Decimal zugeordnet wird. Der Standardwert von decimal entspricht dem Literal 0D.

Der boolesche Werttyp, der einen Wahrheitswert darstellt, ist normalerweise das Ergebnis einer relationalen oder logischen Operation. Das Literal ist vom Typ System.Boolean. Der Standardwert des Boolean-Typs entspricht dem Literal False.

Der Datumswerttyp, der ein Datum und/oder eine Uhrzeit darstellt und auf System.DateTime abgebildet wird. Der Standardwert für den Datumstyp entspricht dem Literal # 01/01/0001 12:00:00 AM #.

Der Char-Werttyp, der ein einzelnes Unicode-Zeichen darstellt und System.Char zugeordnet ist. Der Standardwert des Char-Typs entspricht dem Konstantenausdruck ChrW (0).

Der String-Referenztyp, der eine Sequenz von Unicode-Zeichen darstellt und System.String zuordnet. Der Standardwert des String-Typs ist eine Nullreferenz.

http://msdn.microsoft.com/en-us/library/aa711900.aspx

+0

Danke an alle .. Mein Problem wurde gelöst. Ihre Antworten werden geschätzt. –

4

Die Sprache C# Spezifikation besagt, dass für Werttypen der Standardwert der gleiche wie der von der Standard-Konstruktor zugewiesen ist und für Referenztypen es ist null:

So Die Werttypen Standardkonstruktorwerte sind:

Für alle einfachen Typen der Standardwert -Wert ist der Wert von einem Bit Muster von Nullen erzeugt:

  • Für sbyte, byte, kurz gesagt, ushort, int, uint, lang und ULONG des Standardwert ist 0.

  • Für char ist der Standardwert '\ x0000'. Für Float ist der Standardwert
    Wert 0.0f.

  • Für den doppelten Wert ist der Standardwert 0.0d. Für Dezimalwerte ist der Standardwert 0.0m. Für Bool ist der Standardwert falsch.

  • für einen ENUM-Typee, der Standardwert ist 0.

  • Für einen struct-Typen, ist der Standardwert der Wert von erzeugten all Werttypen Felder ihren Standardwert setzen und all Referenztyp Felder auf Null.

http://msdn.microsoft.com/en-us/library/aa691142(v=VS.71).aspx

Der String ist kein Werttyp.

Verwandte Themen