C# liste Triée: Comment faire pour obtenir l'élément suivant?
Je me demandais comment faire pour obtenir l'élément suivant en C# liste triée. Jusqu'à présent, je suis venu avec le code suivant:
SortedList<int, Bla> mList;
Bla someElement = mList[key];
Bla next = mList[mList.Keys[mList.IndexOfKey(key) + 1]];
Je ne suis pas sûr si c'est la façon la plus intelligente de le faire 😉
Spécifier les types exactement.
Quel est le type de
foreach (KeyValuePair<int, Bla> entrée en mList){ ... } ????
Utilisation IndexOfKey et GetByIndex.
Si vous publiez une réponse, je vais upvote. Tout le monde ici semble incapable de répondre à la question qui a été demandé.
Quel est le type de
mList
?foreach (KeyValuePair<int, Bla> entrée en mList){ ... } ????
Utilisation IndexOfKey et GetByIndex.
Si vous publiez une réponse, je vais upvote. Tout le monde ici semble incapable de répondre à la question qui a été demandé.
OriginalL'auteur Boris | 2011-11-11
Vous devez vous connecter pour publier un commentaire.
Puisque vous pouvez accéder à un
SortedList
par index (voir la section Remarques), je vous recommande d'utiliser les éléments suivants:Cela fonctionne de la même
O(log n)
comme une seule recherche.Voici également le LINQ façon de le faire:
Ce sera seulement énumérer une fois. Il s'exécutera dans
O(n)
.OriginalL'auteur Scott Rippey
SortedList peut être consulté par les deux clés et index
Incrémenter l'index,
Obtenir l'élément suivant par l'index.
SortedList<int, Bla>
? SortedList sous les Génériques n'a pas d'hvGetByIndex
à moins que j'ai mal interprété quelque choseJe pense que oui
Nope, SortedList n'a pas GetByIndex...
Je pensais que vous étiez à l'aide de SortList
Le pouvoir de suggestion 🙂 C'est une bonne réponse, si
GetByIndex
existé. En réalité, vous devez utilisermList.Values[index]
.OriginalL'auteur parapura rajkumar
Utilisation enquêteur:
C'est vrai. Je voudrais trouver un élément dans la liste (de préférence très rapide) et ensuite effectuer une itération à partir de là...
Ceci permet d'obtenir les 2 premiers articles, et n'a même pas pris la peine de regarder le
key
.OriginalL'auteur Andrey Atapin
OriginalL'auteur Harry