L'exclusion d'un élément de la liste (par Indice), et prendre toutes autres
Il y a un List<int>
contenant un ensemble de nombres. Au hasard je sélectionner un index, qui seront traitées séparément (appeler maître). Maintenant, je veux exclure cet indice, et d'obtenir tous les autres éléments de List
(appeler esclave).
var items = new List<int> { 55, 66, 77, 88, 99 };
int MasterIndex = new Random().Next(0, items .Count);
var master = items.Skip(MasterIndex).First();
//How to get the other items into another List<int> now?
/* -- items.Join;
-- items.Select;
-- items.Except */
Join
, Select
, Except
- l'un d'eux, et comment?
EDIT: Ne peut pas supprimer n'importe quel élément de la liste initiale, sinon, je dois garder les deux listes.
InformationsquelleAutor Ajay | 2014-12-31
Vous devez vous connecter pour publier un commentaire.
Utilisation Où:-
De travail Violon.
Where
n'était pas évident de n'importe où dans la documentation.Where
, c'est la seconde surcharge d'Où.Vous pouvez supprimer Maître de l'élément de la liste,
RemoveAt() supprime l'élément de la liste d'origine, de Sorte qu'il n'est pas nécessaire d'affecter à la collection à une nouvelle liste. Après l'appel de RemoveAt(),
items.Contains(MasterItem)
serait de retourfalse
.Si la performance est un problème, vous pouvez utiliser le Liste.CopyTo méthode comme ceci.
Cette mise en œuvre est presque 3 fois plus rapide que @RahulSingh réponse.