Frage Wie kann ich das Array in C # leeren?


Ich benutze die Funktion Array.Clear() um ein Array zu leeren, aber es erzeugt einen Fehler. Dies ist der Code, den ich verwendet habe:

private int[] activeFielderNumber = new int[10];
private string[] activeFielderAction = new string[10];  
....
...
....
Array.Clear(activeFielderNumber, 0, activeFielderNumber.Length);
Array.Clear(activeFielderAction, "", activeFielderAction.Length);

Der Fehler ist:

error CS0103: The name `Array' does not exist in the current context

Wie kann ich dieses Problem lösen?


7
2017-12-07 05:23


Ursprung


Antworten:


hast du benutzt

using System;

und noch einen Punkt zu korrigieren:

Array.Clear(activeFielderAction, "", activeFielderAction.Length);

es sollte sein

Array.Clear(activeFielderAction, 0, activeFielderAction.Length);

Die letzten beiden Parameter sind die zu entfernenden Indexbereiche.


10
2017-12-07 05:29



Ich verwende Array.Clear () -Funktion, um Array zu leeren. Aber es war Fehler werfen

Nein, ich war nicht. Die Clear-Funktion warf keinen Fehler, der COMPILER war.

Fehler CS0103: Der Name `Array 'existiert im aktuellen Kontext nicht

Google sagt Folgendes, wenn wir nach CS0103 suchen:

Compiler Fehler CS0103 (C #) bei MSDN

Es wurde versucht, einen Namen zu verwenden, der in der Klasse nicht existiert.   Namespace oder Bereich. Überprüfen Sie die Schreibweise des Namens und überprüfen Sie Ihre   Verwenden Sie Anweisungen und Assemblyverweise, um sicherzustellen, dass der Name   Sie versuchen zu verwenden ist verfügbar. Ein häufiger Fehler ist es, a   Variable innerhalb einer Schleife oder eines try-Blocks und dann versuchen, darauf zuzugreifen   von einem umschließenden Codeblock oder einem anderen Codeblock, wie in der   folgendes Beispiel.

Übersetzt in: Array wird nicht im Kontext gefunden. Vermissen Sie eine "using" -Anweisung?


4
2017-12-07 05:29



Versuche dies

Array.Clear(yourArray, 0, yourArray.Length);

4
2017-07-10 07:38



Der folgende Code hat funktioniert:

using System;
using System.Collections.Generic;
using System.Text;

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] activeFielderNumber = new int[10];
string[] activeFielderAction = new string[10];  

Array.Clear(activeFielderNumber, 0, activeFielderNumber.Length);
Array.Clear(activeFielderAction, 0, activeFielderAction.Length);
        }
    }
}

2
2017-12-07 05:27



Array.Clear() Methode setzt das Array nur auf seinen Standardzustand zurück.

Basierend auf der Aussage

Array.Clear(activeFielderAction, "", activeFielderAction.Length); wir können einen Fehler bekommen.

Die tatsächliche Aussage sollte sein

Array.Clear(activeFielderAction, 0, activeFielderAction.Length);

Überprüfen Sie auch, ob Sie sind importing Using.System; Namensraum.

Probieren Sie den folgenden Code aus.

int[] activeFielderNumber = new int[10];
activeFielderNumber[1] = 10;
activeFielderNumber[2] = 20;

string[] activeFielderAction = new string[10];
Array.Clear(activeFielderNumber, 0, activeFielderNumber.Length);
Array.Clear(activeFielderAction, 0, activeFielderAction.Length);

1
2017-12-07 05:33



Leider habe ich nicht genug Punkte, um einen Kommentar zu posten, also muss ich hier eine "Antwort" geben ... für alle "Speed-Junkies" gibt es zahlreiche Möglichkeiten, ein Array zu löschen (nicht nur Array.Clear) wie hier gezeigt, aber typischerweise Array.Clear ist das einfachste und schnellste.

Hier sind drei Möglichkeiten, die getestet wurden, um ein Array zu löschen (direkt von der Website) wo "o1" ist das Objekt-Array:

for (int x = 0; x < MAX; x++)
{
    o1[x] = null;
}

Array.Clear(o1, 0, o1.Length);

Parallel.For(0, MAX, x =>
{   //arrays are thread safe if only one thread is writing to an index
    o1[x] = null;
});

Ich dachte, es wäre interessant zu lesen, da ich nie einen anderen Gedanken gemacht habe, einen anderen Weg zu versuchen (insbesondere mit einer parallelen Schleife) als Array.Clear obwohl.


1
2017-07-10 07:33



Die Linie

Array.Clear(activeFielderAction, "", activeFielderAction.Length);

ist keine gültige Verwendung von Array.Clear () - Der mittlere Parameter muss ein int sein, wie Sie in der vorherigen Zeile haben.


0
2017-12-07 05:30



Sie setzen einfach Array-Objektreferenz auf Null-Beispiel

Zeichenfolge url = "http: // localhost / RestWebService / Mitarbeiter? "name +", "+ id;   String [] arr = url.Split ('?');

        arr = null;
        arr = url.Split('?');

Das ist alles


0
2017-08-19 10:42