C# Passage de tableau de string par référence... [Résolu]

Lucasd 76 Messages postés lundi 21 février 2005Date d'inscription 18 mai 2006 Dernière intervention - 21 févr. 2006 à 12:52 - Dernière réponse : Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention
- 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
Afficher la suite 

7 réponses

Répondre au sujet
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 21 févr. 2006 à 13:39
+3
Utile
Salut,
Ton tableau montab est null, donc c'est normal.
Il faut d'abord faire : montab = new string[taille du tableau]



Mx
MVP C#
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de MorpionMx
Lucasd 76 Messages postés lundi 21 février 2005Date d'inscription 18 mai 2006 Dernière intervention - 21 févr. 2006 à 14:08
0
Utile
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...
Commenter la réponse de Lucasd
Lucasd 76 Messages postés lundi 21 février 2005Date d'inscription 18 mai 2006 Dernière intervention - 21 févr. 2006 à 14:10
0
Utile
euuuuh petite question, comment je fais pour créer ce tableau dynamiquement alors?
Commenter la réponse de Lucasd
MorpionMx 3489 Messages postés lundi 16 octobre 2000Date d'inscription 30 octobre 2008 Dernière intervention - 21 févr. 2006 à 14:21
0
Utile
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#
Commenter la réponse de MorpionMx
Lucasd 76 Messages postés lundi 21 février 2005Date d'inscription 18 mai 2006 Dernière intervention - 21 févr. 2006 à 14:40
0
Utile
Je n'ai pas de type arraylist!!

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

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



Mx
MVP C#
Commenter la réponse de MorpionMx
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 21 févr. 2006 à 15:55
0
Utile
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é..
Commenter la réponse de Lutinore

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.