Liste de tableaux de int[] en c#
J'ai ma déclaration comme suit
int[] EmpIDs = new int[] { };
ArrayList arrEmpID = new ArrayList();
int EmpID = 0;
if (CheckBox1.Checked)
{
EmpID = 123;
arrEmpID.Add(EmpID);
}
if (CheckBox2.Checked)
{
EmpID = 1234;
arrEmpID.Add(EmpID);
}
if (CheckBox3.Checked)
{
EmpID = 1234;
arrEmpID.Add(EmpID);
}
Après tout je voudrais assigner cette la EmpIDs
qui a été déclarée comme int array
J'ai essayé ce
for (int i = 0; i < arrEmpID.Count; i++)
{
EmpIDs = arrEmpID.ToArray(new int[i]);
}
Mais je suis incapable d'ajouter quelqu'un peut-il m'aider
Si vous êtes dans .net 2.0, utilisez la List<>
OriginalL'auteur Vivekh | 2011-09-07
Vous devez vous connecter pour publier un commentaire.
Vous devriez éviter d'utiliser des
ArrayList
. Au lieu d'utiliserList<int>
, qui possède une méthodeToArray()
OriginalL'auteur Jamiec
Lors de la conversion d'une liste de tableaux dans un tableau, vous aurez à spécifier le type des objets qu'il contient, et, vous aurez à vous assurer que vous lancez le résultat dans un tableau du type désiré ainsi:
Mais, comme souligné par d'autres, pourquoi êtes-vous à l'aide d'un
ArrayList
? Si vous êtes en utilisant .NET 1.1, vous avez en effet pas d'autre choix puis à l'aide d'unArrayList
.Toutefois, si vous êtes en utilisant .NET 2.0 ou supérieur, vous devez utiliser un
List<int>
à la place.ArrayList
OriginalL'auteur Frederik Gheysels
Au lieu de la (vieille)
ArrayList
classe, utiliser un (modere)List<int>
. Il est de type sécurisé et il a un Méthode ToArray:En fait, vous pourriez envisager d'utiliser la
List<int>
tout au long de la place de la création d'unint[]
par la suite.OriginalL'auteur Heinzi
Si vous avez vraiment besoin
ArrayList
, vous pouvez essayer d'utiliser les éléments suivants:(Mais ceci est uniquement disponible en .NET 3.5 et plus)
Ah oui, je ne vois pas ce que c'est .NET 2.0
OriginalL'auteur Stephan Bauer
essayez ceci:
OriginalL'auteur WaltiD
de l'essayer.
la faute avec votre code, c'est que vous n'êtes pas initilizing le tableau à la taille de la liste de tableaux.
Gheysels, je faisais allusion à ce morceau de code..
int[] EmpIDs = new int[] { };
la technique vous suggère de ne pas exiger pour que la matrice soit initialisé, mais le mien fait..C'est particulièrement étrange morceau de code si - pourquoi voudriez-vous à plusieurs reprises remplacer la même variable? Il semble très peu probable que ce ne soit ce que l'OP veut.
oups.. il avait copié le code de la question.. ont modifié maintenant.
OriginalL'auteur Anantha Sharma