L'exécution de la fonction sur chaque élément du tableau, de renvoyer des résultats à nouveau tableau
Je suis une complète Linq newbie, donc pardonnez-moi pour une très simple question.
Je veux effectuer une opération sur chaque élément dans un tableau, et de retourner le résultat de chacune de ces opérations à un nouveau tableau.
Par exemple, dire que j'ai un tableau ou d'un nombre et d'une fonction Vers() qui convertit les nombres à leur parole équivalents, je veux être en mesure de passer dans les numéros de tableau, effectuer les Vers() opération sur chaque élément, et de passer une string[]
Je sais que c'est tout à fait possible dans un peu plus verbeux, mais dans mon Linq aventures, je me demande si c'est faisable dans un joli one-liner.
Est-il quelque chose que vous avez essayé? Les morceaux de code que vous avez écrit, mais a échoué à faire ce qu'il vous fallait?
Est la sortie d'une chaîne de caractères par numéro ("cent et un") ou plusieurs chaînes de caractères par numéro ("un", "cent","", "")?
Est la sortie d'une chaîne de caractères par numéro ("cent et un") ou plusieurs chaînes de caractères par numéro ("un", "cent","", "")?
OriginalL'auteur Dan | 2013-05-13
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
Select()
pour transformer une séquence en une autre, etToArray()
pour créer un tableau à partir du résultat:Ne connaissais pas
Select
, toujours utiliséToList().ConvertAll()
. Merci!OriginalL'auteur Botz3000
C'est assez simple. Utilisez simplement le
Select
méthode:Noter que si vous avez besoin d'un tableau et que vous n'avez pas à appeler
ToArray
. La plupart du temps, vous pouvez utiliser l'évaluation différée sur uneIEnumerable<string>
tout aussi facilement.OriginalL'auteur p.s.w.g
Il existe deux approches différentes: vous pouvez utiliser Sélectionnez méthode d'extension ou vous pouvez utiliser clause select:
deux d'entre eux seront de retour
IEnumerable<>
, vous pouvez diffuser que vous en avez besoin (par exemple, avec.ToArray()
ou.ToList()
).OriginalL'auteur JleruOHeP
Vous pourriez faire quelque chose comme ceci :
Si c'est une liste alors :
OriginalL'auteur cvraman
Droite simple:
Si vous êtes OK avec les Listes, plutôt que des tableaux, vous pouvez sauter
ToList()
etToArray()
.Listes sont beaucoup plus souples que les tableaux, je ne vois pas pourquoi, sur terre, ne pas les utiliser, sauf cas spécifiques.
OriginalL'auteur Teejay