0
votes

Comment ajouter une plage d'index d'une liste de chaînes à une autre liste de chaînes

Je suis nouveau à C # et recoder du python en C #. Comment allez-vous prendre une gamme d'une liste (liste1) et créer une nouvelle liste plus courte de celle-ci (List2)?

private void button1_Click(object sender, EventArgs e)
    {
        List < string > list1 = new List < string > ();
        list1.Add("lets");
        list1.Add("go");
        list1.Add("visit")
        list1.Add("houston");
        list1.Add("texas");

        List<string> list2 = list1.GetRange(3, 4);
    }


1 commentaires

gettrange prend un index et un compte, l'équivalent serait donc getrange (3, 2) pour obtenir "Houston" et "Texas". Vous pouvez également consulter les autres méthodes, comme addrange , INSERTRANGE , REMOVERANGE ,


4 Réponses :


1
votes

Ce serait l'équivalent C #: xxx

édition: vous pouvez étendre la liste avec des méthodes personnalisées: xxx


0 commentaires

1
votes

Premièrement, notez que gettrange code> est défini comme suit: xxx pré>

  • index code> est la liste x / t> code> sur laquelle la plage commence. li>
  • compte code> est le nombre d'éléments de la plage. li> ul>

    Ainsi, vous faites list1.getrange (3, 4); code> donnera un System.argumentException: code> comme compte code> IE 4 code> ne désigne pas une plage d'éléments valide dans la liste. p>

    En outre, en utilisant gettrange code> est aussi bon que possible si vous voulez copier une plage spécifique d'une liste. P>

    afin de donner une liste contenant "Houston" et "Texas", vous pouvez appeler gettrange code> avec 3 code> comme le index et 2 code> comme nombre d'éléments. p> xxx pré>

    malheureusement, il n'y a pas de gettrange code> prise uniquement à un "index de début" . P>

    à la place, si vous ne voulez pas spécifier le compter code> dans gettrange code> puis utilisez Ignorer code> puis collectez-le à un LISTE: P>

    list2.AddRange(list1.GetRange(3, 2)); // ["houston", "texas"]
    


0 commentaires

0
votes

Vous pouvez utiliser la méthode Array.copy (). Cela vous permettra de copier une gamme spécifiée d'éléments dans un tableau à un autre tableau.

Voir la documentation ici .


0 commentaires

1
votes

Vous pouvez le faire à l'aide de la méthode gettrange de la liste : xxx

ou, alternativement, en utilisant le < Code> linq méthodes d'extension Ignorer et prenez ( à l'aide de system.linq ): xxx


0 commentaires