c# - 从堆栈/队列中弹出堆栈
问题描述
我的问题是关于如何从队列中取出堆栈。该程序应该通过生成堆栈(如下所示)来工作,让这些堆栈中塞满数据(如下所示),然后卸载并显示其中的数据。现在它只是向我抛出一个 CS1061 异常。例如, 5 在那里,实际代码是从数组中选择一个随机字符串。
public void newCustomers()
{
var customer = new Stack();
store.Enqueue(customer);
}
public void Shop()
{
var customer = store.Dequeue();
customer.Push(5);
//^currently this doesn't work. I'm assuming the typing for customer is wrong.
store.Enqueue(customer);
}
CS1061
严重性代码描述项目文件行抑制状态错误 CS1061“对象”不包含“推送”的定义,并且找不到接受“对象”类型的第一个参数的可访问扩展方法“推送”(您是否缺少 using 指令或装配参考?)
解决方案
您正在使用非泛型Queue
类。该Dequeue()
方法返回一个object
您必须转换为的Stack
:
var customer = (Stack)store.Dequeue();
customer.Push(5);
我建议改用通用队列类Queue<T>
。
推荐阅读
- c# - SFTP 进程输出重定向无法正常工作
- javascript - 允许在字符串中的 ':' 之后使用 0 到 59 的整数
- python - 有没有办法按列中的数组过滤熊猫数据框行?
- android-studio - android studio LG G3 未被识别为 Android 设备
- java - entityManager.flush 没有立即插入数据库,为什么?
- graphdb - 在对 Graphdb 的 restTemplate.postForObject 请求中获取“org.springframework.web.client.HttpServerErrorException: 500 null”
- python - 第 80 行出现错误无效的块标记:“NOUN_LIST|count_ordered”,预期为“endblock”。您是否忘记注册或加载此标签?
- javascript - TypeScript - 使用 lodash 语法就地排序
- c# - 不同 dbContexts 上的异步任务。说第二次操作是在这种情况下开始的
- flutter - Flutter - 如何使用 SQFLite 包作为 Flutter web 的本地存储