何时在C#中使用Stack集合?

我确实理解Stack()和Stack< T>工作,但我真的看不到任何阵列,List< T>或IEnumerable< T>不是更好更容易的选择.

任何人都可以为我提供使用Stack< T>?的真实世界示例

理想情况下,您可以根据需要使用或创建反映现实世界中工作方式的类,以及您在代码中建模的内容.这些类为我们提供了抽象级别,因此我们可以根据我们的建模/模拟进行编码.另外,在编写一些复杂的东西时,使用熟悉的范例会有所帮助.即:哦,这个Fuzzinator类使用Stack.我知道堆栈是什么以及它是如何工作的.

其次,更高级别的抽象类为我们提供了可行的代码(我们假设.NET框架已经过测试)并为我们节省了重新发明轮子的时间和痛苦.

第三,代码更易于阅读,更易于理解,更易于更改等.它更易于维护.

使用具有更多细化功能的类有助于限制我们使用它的方式.

总的来说,当它在适当的抽象级别编码时,你的应用程序会更好.

Stack是这些类中的一个.

我的HP-41X计算器使用堆栈进行算术运算.这种计算方式称为RPN – 反向波兰表示法.

如果我正在模拟一个自助餐厅,那么Stack对于那堆盘子来说是完美的.板从顶部进出堆叠.不是中间,不是结束;只是顶部.一堆.我只能使用Push()和Pop()板,这使得代码更加简单明了.

或者,想象使用C#等效的子原子粒子进行编码 – 通用集合或通用IEnumerable等.我最终使用通用实用方法和属性,通用名称具有多变量参数,这些参数总体上模糊了我的事实堆叠板.

翻译自:https://stackoverflow.com/questions/8765395/when-to-use-the-stackt-collection-in-c

转载注明原文:何时在C#中使用Stack集合?