Comment puis-je créer une dynamique à 2 dimensions longueur du tableau?
Je veux créer un tableau en 2 dimensions, sans connaître la taille de la première dimension.
Par exemple, j'ai un nombre inconnu de lignes, quand je créer un tableau.
Chaque ligne représente un compte.
Sortie 4 colonnes pour chaque ligne: ID,nom d'utilisateur,mot de passe
J'ai essayé avec un tableau en escalier, mais il n'est pas possible d'avoir:
int[][] jaggedArray = new int[][3];
Aussi j'ai regardé pour ArrayList
, la mise en œuvre avec clases et un peu sur les Génériques.
Je suis à la recherche d'une solution qui peut permettre une manipulation aisée des données:
- ajouter à la liste,sélectionnez,un apport d'éléments
- à l'aide d'éléments dans la base de données des requêtes
- en utilisant comme paramètres dans d'autres fonctions
Parce que je suis un débutant dans la .NET (C#) merci de me fournir le code de solutions, au lieu de générique(chercher) des solutions
OriginalL'auteur user848568 | 2011-07-17
Vous devez vous connecter pour publier un commentaire.
De l'OMI, depuis les "colonnes" sont fixes, déclarer une classe pour que:
ont maintenant un :
cela a tout ce dont vous avez besoin:
list.Add
etcvague sans plus d'info, mais vous pouvez passer le
Account
ou programme de valeurs, ou de l'ensemble de la liste.tu veux dire
list[0].Name
?Mon cas a une petite différence. Les lignes et les colonnes ne sont pas connus. Comment puis-je obtenir le même résultat pour
2-D Arrays
?alors...
var arr = new YourChosenType[len1, len2];
(peut-êtreint[,]
,string[,]
, etc) - ou utiliser quelque chose commeDataTable
- et pour être clair: ce n'est pas une "petite" différenceMerci 🙂 . Savais que mon "mineur" est "grand", j'ai été poli ;).
OriginalL'auteur Marc Gravell
Il n'y a pas une telle chose comme dynamique de tableaux de longueur .NET. Utiliser un
List<>
à la place.Les limites du tableau, toutes doivent être connues lorsque vous instanciez un tableau. Ce qui est peut-être un peu de vous, c'est que cela semble être différente pour les tableaux irréguliers, mais ce n'est pas: puisque c'est un tableau de tableaux, lors de l'instanciation, il sera un tableau de uninstantiated tableaux (par exemple,
null
références). Ensuite, vous devez allouer chacun de ces tableaux de nouveau à les utiliser.OriginalL'auteur Lucero
Aussi longtemps que je le sais, on ne peut pas instancier une matrice, sans connaître sa taille. Pourquoi ne pas vous essayer un Tableau de la Liste? Comme ceci:
Avec la Liste, ajouter, sélectionner des éléments d'entrée est trivial. Si vous voulez donner comme paramètre dans d'autres fonctions, il suffit de définir le Type.
est la droite - si vous avez choisi cette approche (et je ne le ferais pas ;p) il serait un
List<int[]>
, pas unList<int>[]
Votre de les essayer avant de juger. C'est un Tableau de List<int>. Par la manière, Marc approche est grand. 😉 Je apprendre de cette expérience.
OriginalL'auteur Khoa Le