C# Passage de tableau de string par référence...

Résolu
Lucasd Messages postés 76 Date d'inscription lundi 21 février 2005 Statut Membre Dernière intervention 18 mai 2006 - 21 févr. 2006 à 12:52
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 - 21 févr. 2006 à 15:55
Salut tt le monde.

Dans le cadre de mon project de fin d'étude me revoilà confronté à un autre bug incompréhensible.

J'ai une fonction qui reçois une référence vers un tableau de string

enfin voilà un exemple:


Code:
private void ma_fct_apellante()
{
...
string [] montab = null;
ma_fct_appellée(...,ref montab,...);
}
private void ma_fct_appelléé(...,ref string [] montab,...)
{
for(i=...)
{
montab[i] = "....."
}


}


J'ai une erreur qui apparais mais pas à la compilation car ma synthaxe est bonne , mais plutot à l'execution dans la console.

Cette erreur est: Object reference not set to an instance of an object

Voyez vous l'erreur?

Merçi

7 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
21 févr. 2006 à 13:39
Salut,
Ton tableau montab est null, donc c'est normal.
Il faut d'abord faire : montab = new string[taille du tableau]



Mx
MVP C#
3
Lucasd Messages postés 76 Date d'inscription lundi 21 février 2005 Statut Membre Dernière intervention 18 mai 2006
21 févr. 2006 à 14:08
Merçi a toi et surtout pour ta rapidité, çelà résout mon problème.

Je suis nouveau sous C#, j'ai beaucoup bossé en C , C++ et les références c'étais pas courant...
0
Lucasd Messages postés 76 Date d'inscription lundi 21 février 2005 Statut Membre Dernière intervention 18 mai 2006
21 févr. 2006 à 14:10
euuuuh petite question, comment je fais pour créer ce tableau dynamiquement alors?
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
21 févr. 2006 à 14:21
Si tu ne connais pas le nombre d'element de ton tableau, utilises un ArrayList.
ArrayList maList = new ArrayList();
puis
ArrayList.Add("Ma string"); //pour y ajouter un element

Pour obtenir un tableau avec les elements de ton ArrayList :
string temp[] = (string[])maList.ToArray(typeof(string));

ou

string[] temp = new string[maList.Count];
maList.CopyTo(temp);

Mx
MVP C#
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Lucasd Messages postés 76 Date d'inscription lundi 21 février 2005 Statut Membre Dernière intervention 18 mai 2006
21 févr. 2006 à 14:40
Je n'ai pas de type arraylist!!

Tout ce que j'ai c'est array mais je n'arrive pas a l'instancier :(
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
21 févr. 2006 à 15:06
déclare l'espace de nom System.Collections au préalable.

using System.Collections; // en haut de ton fichier



Mx
MVP C#
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 42
21 févr. 2006 à 15:55
Lucasd, on n'utilise pas le mot clé ref pour passer un tableau, un Array est déja un type référence, là tu viens de passer ce qu'on appelle en C/C++ un double pointeur !! A moins que ce soit le but recherché..
0