2016-12-15 1 views
0

Je ne peux pas comprendre comment mapper une liste de chaînes en c#,Array.prototype.Map - C# IEnumerable équivalent

je peux avoir quelque chose de similaire cette js:

var items = [12, 23, 14, 15, 65, 66, 33]; 

var ids = items.map(id => `post-${id}`); 

mais en utilisant IEnumerable<string> dans C#:

IEnumerable<string> ids = Product.GetRelatedProductsIds(); 

var posts = ?? 
+7

Avec LINQ: 'var posts = ids.Sélectionnez (s =>" post- "+ s)' – haim770

+0

Quel devrait être le résultat, qu'est-ce que 'posts'? Est-ce un IDictionary ou IEnumerable? – Johnny

Répondre

2
int[] items = new int[] { 12, 23, 14, 15, 65, 66, 33 }; 

IEnumerable<string> ids = items.Select(x => $"post-{x}"); 

IEnumerable.Select() est votre équivalent map().

+0

est la syntaxe '$" post- {x} "' disponible dans toutes les versions C#? – Hitmands

+1

@Hitmands, no, [interpolation de chaîne] (https://msdn.microsoft.com/fr-fr/library/dn961160.aspx) a été introduit en C# 6. – kiziu