J'ai deux listes que j'essaye de rejoindre une liste sur ma candidature, comme indiqué ci-dessous -
Platformids avec ID de 1 à 10. Pourcentages avec des valeurs de 10 à 100. Ces listes sont déjà commandées. P>
Platformancers, c'est ici que je veux rejoindre les listes ci-dessus. Il s'agit d'une liste de la liste de plateformes ( plateforme doit contenir les informations de liste ensemble, comme - Comment puis-je faire cela? P> Tout aide appréciation! p> ive a essayé des boucles de foresach imbriquées, mais il n'a pas fonctionné correctement. P> list
code>) que j'ai créé qui prend des plate-forme plate-forme et double pourcentage. P>
var platformPercentages = new List<PlatformPercentage>();
foreach (var platformId in platformIds)
{
foreach (var percentage in percentages)
{
var platformPercentage = new PlatformPercentage
{
PlatformId = platformId,
Percentage = percentage,
};
platformPercentages.Add(platformPercentage);
}
}
3 Réponses :
Je suppose que la liste des plate -platerids et des pourcentages sont également 10 enregistrements.
for(var i=0; i<platformIds.Count; i++){ platformPercentages.Add(new PlatformPercentage{ PlatformId = platformIds[i], Percentage = percentages[i], }); }
Utilisez un seul pour la boucle comme celle-ci
Vous pouvez utiliser LINQ pour le faire dans une ligne simple avec la fonction ZIP:
var platformIds = new List<int> { 1, 2, 3 }; var percentages = new List<int> { 10, 20, 30 }; var platformPercentages = platformIds.Zip(percentages, (id, pourcent) => new PlatformPercentage { PlatformId = id, Percentage = pourcent }).ToList();
C'était la méthode que j'ai utilisée. Exactement ce que je cherchais! Merci
@Bairdy N'oubliez pas de valider une réponse si cela correspond à votre besoin
fait mate, pensais que je l'avais validé la dernière fois que j'étais sur
Bien sûr, cela ne fonctionnera pas. Vous ne devriez pas nier les boucles. Si vous êtes sûr de la commande, utilisez une seule boucle