2009-12-10 1 views
6
Public Function Foo() as String() 
Dim bar As String = {"bar1","bar2","bar3"} 

Return bar 
End Function 

Ma situation est similaire à l'exemple de code ci-dessus où je renvoie un tableau de chaînes à partir d'une fonction.Retourne un tableau de chaînes depuis une fonction sans l'initialiser en premier

Ce que je voudrais faire est juste de retourner le tableau de chaînes sans avoir à déclarer une variable d'abord, puis retourner la variable.

Quelque chose comme ça, bien que cela ne fonctionne évidemment pas:

Return {"bar1","bar2","bar3"} 

Est-il possible de le faire, je ne peux pas sembler trouver une méthode qui fonctionne?

Répondre

8

Vous pouvez le faire:

Public Function Foo() As String() 
    Return New String() {"bar1", "bar2", "bar3"} 
End Function 
2

Vous ne devez pas déclarer une variable (comme l'exemple de Darin), mais vous devez créer une instance du type que vous voulez (un tableau de chaînes) .

Son exemple fonctionne parce qu'il "se lève" un tableau de chaînes.

+0

Je suis légèrement confus par votre commentaire "Son exemple fonctionne parce qu'il est" nouveau "un tableau de chaînes." La suggestion de Darin semble bien fonctionner, mais est-ce une mauvaise pratique peut-être? –

+0

Il retourne un tableau de chaînes _NEW_. Ne pas dire que c'est un mauvais code, mais c'est pourquoi votre exemple ne fonctionne pas. – Oded

+0

@Richard: Il signifie simplement que vous devez toujours avoir une instance de tableau de chaînes à retourner et il y a 2 façons de le faire - définir une nouvelle variable de tableau de chaînes, remplir cette variable et la retourner (comme vous le faites) ..ou faites-le en ligne comme Darin a montré, ce qui est juste un raccourci car vous retournez le nouveau tableau de chaînes directement au lieu de l'assigner d'abord dans une variable – AdaTheDev

Questions connexes