Bil*_*eal 11 .net c# collections
List<T>来自System.Collections.Generic所有事情Stack<T>,以及更多 - 它们基于相同的基础数据结构.在什么条件下选择是否正确Stack<T>?
Abe*_*ler 13
如果您需要Last In First Out项目集合,则可以使用堆栈.列表将允许您在任何索引处访问它的项目.还有很多其他的差异但我会说这是最根本的.
评论后更新:
我会说using使用Stack<T>了一个关于如何使用这个代码的声明.计划未来总是好的,但如果你现在有需要Stack<T>,没有令人信服的理由使用List<T>那么我会去Stack<T>
Stack好吧,如果您在逻辑上尝试表示堆栈,您可能会想要使用。如果您使用堆栈,它将在整个代码中传达程序员的意图,并且它将防止无意中误用数据结构(无意中添加/删除/读取一端以外的其他位置)。
当然有可能,它不是一个具体的实现,Stack而是一个接口。然后您可以List实现该接口之类的东西。那里的问题主要是便利性问题。如果有人需要一个堆栈,他们需要选择一些特定的实现并记住(“哦,是的,List 是首选的堆栈实现”),而不是仅仅更新具体类型。
为什么我会人为地限制自己在新代码中使用Stack
有您的答案- Stack当您需要强制执行合同期望所使用的数据结构只能作为堆栈进行操作时,应使用该答案。当然,您真正想做的时间是有限的,但是在适当的时候它是一个重要的工具。
例如,假设要处理的数据没有任何意义,除非执行了堆栈顺序。在这些情况下,如果您将数据作为列表提供,则可能会遇到麻烦。通过使用Stack(或Queue,或任何其他顺序敏感的结构),您可以在代码中精确指定应该如何使用数据。
| 归档时间: |
|
| 查看次数: |
11342 次 |
| 最近记录: |