0
votes

C # - Joindre deux listes dans une liste de valeurs appariées

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 ( list code>) que j'ai créé qui prend des plate-forme plate-forme et double pourcentage. P>

plateforme doit contenir les informations de liste ensemble, comme - xxx pré>

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>

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);
    }
}


1 commentaires

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


3 Réponses :


0
votes

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],
                                 });
}


0 commentaires

0
votes

Utilisez un seul pour la boucle comme celle-ci xxx


0 commentaires

4
votes

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();


3 commentaires

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