2011-07-26 4 views
1

J'ai:Comment inverser une liste dans VB.NET?

clientWB.Sheets(getClientSheetNames("currMonth").ToArray).Copy(After:=devWB.Sheets(1)) 

Fonction: getClientSheetNames ("currMonth") renvoie une liste de chaînes.

Je veux sélectionner les feuilles dans l'ordre inverse, donc je l'ai fait:

clientWB.Sheets(getClientSheetNames("currMonth").Reverse().ToArray).Copy(After:=devWB.Sheets(1)) 

Mais il donne une erreur:

getClientSheetNames("currMonth").Reverse() => Expression does not produce a value

Qu'est-ce que je fais mal? Comment dois-je le corriger?

Répondre

3

Avez-vous essayé un switcheroo sur vos appels?

getClientSheetNames("currMonth").ToArray.Reverse() 
+0

Exactement ce que je cherchais !! –

3

List(Of T).Reverse est un sous, il retournera rien (voir here). Vous devez faire l'inverse en premier, par exemple comme ceci:

Dim myList As New List(Of String) 
myList = getClientSheetNames("currMonth") 
myList.Reverse() 
clientWB.Sheets(myList.ToArray).Copy(After:=devWB.Sheets(1))