Voici le code:Est-ce que Stack <> constructeur inverser la pile lors de l'initialisation de l'autre?
var s = new Stack<int>();
s.Push(1);
s.Push(2);
s.Push(3);
s.Push(4);
var ns = new Stack<int>(s);
var nss = new Stack<int>(new Stack<int>(s));
puis nous allons voir le résultat
tbLog.Text += "s stack:";
while(s.Count > 0)
{
tbLog.Text += s.Pop() + ",";
}
tbLog.Text += Environment.NewLine;
tbLog.Text += "ns stack:";
while (ns.Count > 0)
{
tbLog.Text += ns.Pop() + ",";
}
tbLog.Text += Environment.NewLine;
tbLog.Text += "nss stack:";
while (nss.Count > 0)
{
tbLog.Text += nss.Pop() + ",";
}
produit la sortie suivante:
s stack:4,3,2,1,
ns stack:1,2,3,4,
nss stack:4,3,2,1,
Ainsi, ns
pile est revenue s
pile et nss
pile est la même que la pile s
.
Ce n'est pas une question, n'est-ce pas? ;) –
Posez-vous une question ici? Il semble que vous publiez juste une conclusion. Fermeture. – Oded
@Kieren, @Oded: Je traite cela comme "Je vois quelque chose d'étrange, est-ce exact?" La question est dans le titre, le texte est pourquoi le Q est demandé. – Richard