CyrVB
Messages postés26Date d'inscriptionmercredi 8 janvier 2003StatutMembreDernière intervention21 mars 2006
-
28 janv. 2006 à 19:11
Utilisateur anonyme -
29 janv. 2006 à 12:12
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
cs_badrbadr
Messages postés475Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention 3 novembre 20081 28 janv. 2006 à 19:37
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
}
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.