J'ai une pile et une liste. J'ai besoin de copier tous les éléments de la liste à la pile sans utiliser des boucles I.e pour, foreach .. etc. p>
Y a-t-il une façon recommandée de le faire? p>
4 Réponses :
Vous pouvez créer une pile à partir de tout ce qui est iénumérable voir msdn: http://msdn.microsoft.com/en-us/library/76ATXD68.aspx p> Cependant, le constructeur de pile utilisera une boucle en interne, Vous ne le voyez tout simplement pas. P> p>
Et le mystack allons apparaître les objets de myList dans l'ordre inverse. Je vous en prie.
myStack.Push(myList[0]); myStack.Push(myList[1]); myStack.Push(myList[2]); myStack.Push(myList[3]); ...
Si vous souhaitez afficher les éléments dans le même ordre qu'ils apparaissent dans votre liste, Ensuite, inverser votre liste avant de créer la pile à partir de celui-ci.
var myStack = new Stack<MyObjectType>(myList.Reverse());
dans Java 1.8 Stack a une méthode prédéfinie Call Addall - Article sera enfoncée sur la pile p>
pile.addall (liste); p>
Pourquoi avez-vous besoin b> pour le faire sans utiliser de boucles?
En Java, vous pouvez le faire par {liste B = nouvelle arraylist (A); Collections.copy (b, a);}
Cela ressemble à des devoirs ou à une question d'entrevue ... qui est-ce ?!
Goto est-il considéré comme une boucle? :)
@FsonmeZay: Vous pouvez également le faire en C #, mais il utilise toujours une boucle. C'est juste caché à l'intérieur de
copier code>.