Arraylist et assignement de valeur

Signaler
Messages postés
26
Date d'inscription
mercredi 8 janvier 2003
Statut
Membre
Dernière intervention
21 mars 2006
-
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
-
Voila,



Je connais le C,
l'assembleur, le PHP, le Pascal, mais disons le clairement je n y
connais rien de rien de rien en C#, j'ai vraiment l'iimpression d avoir
loupe un episode ;)



Je programme un petit truc pour comprendre comment ca marche en C# et j ai deja 2 petits problemes



Voila j'ai 2 questions.




1) int[,] tab = new int[8000000, 16]; Pour le moment ca marche, mais je
prefererai une arraylist, ca a l'air plus flexible, mais je n ai rien
trouve sur une arraylist multi dimensionnel.

Comment faire ?



2)

char[] delimiterChars = { ',', ' ' };

while (sLine != null) // Lecture du fichier

{


sLine = objReader.ReadLine(); // Lit une ligne du fichier


if (sLine != null) // si pas fin du fichier


{



string[] words = sLine.Split(delimiterChars); // On split et on mets
dans un tableau temporaire

y = 0;


foreach (string s in words) // Pour chaque object dans words

{


tab[x, y] = Convert.ToInt32(s); // je convertis et j assigne dans
tab[x,y]


y++;

}

x++;

}

}

objReader.Close();



Ca marche mais ca me parait un peu long et barbare d'utiliser une variable temporaire, et une boucle.

Je pense qu'un truc comme ca doit etre realisable mais je sais pas comment faire



tab[x, ] = Convert.ToInt32(sLine.Split(delimiterChars));



Ou un truc dans le genre ;)



Merci pour votre aide

2 réponses

Messages postés
475
Date d'inscription
jeudi 19 juin 2003
Statut
Membre
Dernière intervention
3 novembre 2008

Salut,
Je vais tenter de répondre à ta première question:
On peut voir un arraylist comme un tableau d'une dimension. Donc, un tableau de ArrayList(s) est un tableau deux dimensions :

using System.Collections; //important
//déclarations
ArrayList[] myArray =
new
ArrayList[5];

for (int i 0; i < myArray.Length; i++) myArray[i]
new
ArrayList();

//ajout
myArray[0].Add(
"salut");
myArray[3].Add(
"Le C# est super cool");

J'espère que cela t'aide...pour ta deuxième, je te conseille d'ajouter une clause try catch pour éviter d'avoir des erreurs à cause d'un fichier corrompu.
try
{
//opération risquée
}
catch(Exception e)
{
//erreur
}

etk, bonne chance

@++
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
30
Bonjour,

Juste une petite modification à ton code badrbadr.
Il n'est pas faux mais CyrVB utilisait un tableau de integer. Il vaut donc mieux utiliser une liste de integer et non une liste d'object.
Remarque: Celà existe uniquement avec le Framework 2.0

using System.Collections.Generic; // Important
// Déclarations
System.Collections.Generic.List<int>[] myArray = new System.Collections.Generic.List<int>[5];for (int i 0; i < myArray.Length; i++) myArray[i] new ArrayList();
// Ajout
myArray[0].Add(7);
myArray[3].Add(45);

Kenji
<hr size="2" width="100%">
Merci de cliquer sur "Réponse acceptée" si une réponse vous convient.