J'utilise la fonction Array.Clear()
pour vider un tableau, mais cela génère une erreur. C'est le code que j'utilisais:
private int[] activeFielderNumber = new int[10];
private string[] activeFielderAction = new string[10];
....
...
....
Array.Clear(activeFielderNumber, 0, activeFielderNumber.Length);
Array.Clear(activeFielderAction, "", activeFielderAction.Length);
L'erreur est:
error CS0103: The name `Array' does not exist in the current context
Comment puis-je résoudre ce problème?
as-tu utilisé
using System;
et encore un point à corriger:
Array.Clear(activeFielderAction, "", activeFielderAction.Length);
cA devrait etre
Array.Clear(activeFielderAction, 0, activeFielderAction.Length);
Les deux derniers paramètres sont les plages d'index à effacer.
Essaye ça
Array.Clear(yourArray, 0, yourArray.Length);
J'utilise la fonction Array.Clear () pour vider un tableau. Mais c'était jeter l'erreur
Non, je n'etais pas. La fonction Clear ne lançait pas d'erreur, le COMPILER l'était.
erreur CS0103: Le nom `Array 'n'existe pas dans le contexte actuel
Google dit ce qui suit lorsque nous recherchons le CS0103:
Erreur CS0103 du compilateur (C #) chez MSDN
Une tentative d'utilisation d'un nom qui n'existe pas dans la classe, l'espace de noms Ou la portée a été tentée. Vérifiez l'orthographe du nom et vérifiez votre À l'aide des instructions et des références d'Assemblée pour vous assurer que le nom Que vous essayez d'utiliser est disponible. Une erreur courante consiste à déclarer une variable Dans une boucle ou un bloc try, puis à tenter d'y accéder à À partir d'un bloc de code englobant ou d'un autre bloc de code, comme indiqué dans . exemple suivant.
Traduit en: Le tableau ne se trouve pas dans le contexte. Vous manque une déclaration "using"?
Le code suivant a fonctionné:
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);
}
}
}
La méthode Array.Clear()
réinitialise uniquement le tableau à son état par défaut.
Basé sur la déclaration
Array.Clear(activeFielderAction, "", activeFielderAction.Length);
il est possible que nous obtenions une erreur.
La déclaration réelle devrait être
Array.Clear(activeFielderAction, 0, activeFielderAction.Length);
Vérifiez également si vous êtes un espace de noms importing Using.System;
.
Essayez le code ci-dessous.
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);
Malheureusement, je n'ai pas assez de points pour poster un commentaire, je dois donc fournir une "réponse" ici ... pour tous les "accros de la vitesse", il existe de nombreuses façons d'effacer un tableau (et pas seulement Array. Clear ) comme démontré ici , mais généralement Array.Clear est le plus simple et le plus rapide.
Voici 3 méthodes qui ont été testées pour effacer un tableau ( directement du site ) où "o1" est le tableau d'objets:
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;
});
Je pensais que c'était une lecture intéressante car je n'avais jamais pensé à essayer une autre façon (en particulier d'utiliser une boucle parallèle) que Array.Clear quoique.
La ligne
Array.Clear(activeFielderAction, "", activeFielderAction.Length);
n’est pas une utilisation valide de Array.Clear () - le paramètre central doit être un int, comme vous l’aviez sur la ligne précédente.
Vous définissez simplement la référence d'objet Array à l'exemple null
String url = " http: // localhost/RestWebService/employee ?" name + "," + id; String [] arr = url.Split ('?');
arr = null;
arr = url.Split('?');
C'est tout