栈是编译期间就分配好的内存空间,因此代码中必须就栈的大小有明确的定义;局部值类型变量、值类型参数等都在栈内存中
堆是程序运行期间动态分配的内存空间,可以根据程序的运行情况确定要分配的堆内存的大小
#region a->b->c->d 输出 d,c,b,a
string[] names = new string[] { "a", "b", "c", "d" };
Stack stack = new Stack();
foreach (string item in names)
{
stack.Push(item);
}
while (stack.Count > 0)
{
Console.WriteLine(stack.Pop());
}
#endregion
来源:https://www.cnblogs.com/xiaoweigogo/p/7799925.html