So weisen Sie 0 dem gesamten Array zu

8

Ich habe ein Array. %Code%. Ich möchte dem ganzen Array '0' zuweisen, ohne die Verwendung von loop bedeutet, dass 0 in allen Indizes gespeichert werden soll. Wie würde ich es tun?

    
Loyal 06.03.2014, 07:39
quelle

2 Antworten

11

Nach der Erstellung haben alle Elemente des Arrays Standardwerte, die für int 0 sind. Also musst du hier nichts machen.

Von Arrays (C # -Programmierhandbuch) :

  

Die Standardwerte numerischer Array-Elemente sind auf Null und   Referenzelemente werden auf null gesetzt.

Auch aus C # Spezifikation 12.2 Array-Erstellung

  

Elemente von Arrays, die von array-creation-expressions erstellt werden, sind immer   auf ihren Standardwert initialisiert.

5.2 Standardwerte

  

Für eine Variable eines Werttyps entspricht der Standardwert dem Wert   Wert, der vom Standardkonstruktor des Werttyps berechnet wird

4.1.2 Standardkonstruktoren

  

Für sbyte, byte, short, ushort, int, uint, long und ulong   Standardwert ist 0.

  

aber nach dem Zuweisen anderer Werte möchte ich, dass alle Indizes wieder 0 sind   Also, wie würde ich es tun?

UPDATE: Sie können Array.Clear :

  

Setzt einen Bereich von Elementen im Array auf null, auf false oder auf null,   abhängig vom Elementtyp.

In Ihrem Fall:

%Vor%

Denken Sie auch daran, List<int> anstelle von array zu verwenden - es ermöglicht das Hinzufügen / Entfernen von Elementen dynamisch.

    
Sergey Berezovskiy 06.03.2014 07:40
quelle
9

Sie müssen überhaupt nichts tun.

Da int ein Werttyp ist, werden alle Elemente standardmäßig als 0 initialisiert.

Von Arrays (C# Programming Guide)

  

Die Standardwerte numerischer Array-Elemente sind auf Null und   Referenzelemente werden auf null gesetzt.

  

ok, wenn ich möchte, dass es 3 zugewiesen wird, wie würde ich es tun?

Sie können die for-Schleife verwenden, um sie wie folgt zuzuordnen:

%Vor%

Wenn Sie ihre Standardwerte zurückgeben möchten (in diesem Fall 0 ), können Sie ein neues Array erstellen oder Array.Clear methode wie;

%Vor%

Wenn Sie wirklich keine Schleife verwenden möchten, müssen Sie möglicherweise List<int> anstelle eines Arrays verwenden. Es hat mehr Funktionalität und erstellt eine saubere Liste (ohne irgendeinen Standardwert).

    
Soner Gönül 06.03.2014 07:40
quelle

Tags und Links