La meilleure correspondance de méthode surchargée pour ‘ssortingng.Join (ssortingng, ssortingng )’ contient des arguments non valides.

Je veux extraire le texte entre deux balises. Le “txtReadfile” contient de nombreuses balises. Je veux extraire tout le texte à chaque occurrence de la balise.

J’ai utilisé le code suivant. mais quand je l’ai lancé, cela donne l’erreur:

Error # Error1 "The best overloaded method match for 'ssortingng.Join(ssortingng, ssortingng[])' has some invalid arguments" Error # "Argument '2': cannot convert from 'System.Collections.Generic.List' to 'ssortingng[]' " 

Pouvez-vous m’aider à le déboguer?

 List destList = new List(); ssortingng me = " (.*?)"; ssortingng text =txtReadfile.Text; foreach (Match match in Regex.Matches(text, me)) destList.Add(match.Groups[1].Value); ssortingng output= ssortingng.Join(" ", destList); MessageBox.Show(output); 

Essayez avec:

 ssortingng output = ssortingng.Join(" ", destList.ToArray()); 

Avant .NET 4, la méthode Ssortingng.Join ne comportait que des surcharges prenant les tableaux comme second paramètre. La prise en charge de IEnumerable n’a été introduite que dans .NET 4.0.

 // From .NET 2.0: Join(Ssortingng, Ssortingng[]) Join(Ssortingng, Ssortingng[], Int32, Int32) Join(Ssortingng, Object[]) // From .NET 4.0: Join(Ssortingng, IEnumerable) Join(Ssortingng, IEnumerable) 

Ainsi, si vous ciblez un framework antérieur, vous devez appeler ToArray sur votre liste pour le convertir en ssortingng[] :

 ssortingng output= ssortingng.Join(" ", destList.ToArray()); 

Très probablement, vous utilisez .NET 3.5 ou inférieur. Dans cette version, ssortingng.Join n’avait que deux surcharges .

Vous devez convertir votre liste en tableau pour pouvoir le transmettre dans cette version.

Utilisez simplement la méthode ToArray de la List :

 ssortingng.Join(" ", destList.ToArray()); 

vous devez le convertir en ToArray()

 ssortingng.join(" ",destList.ToArray());