Queue 队列的使用
队列一个先进先出的对象集合
public class PlayChickTopicData : MonoBehaviour
{
Queue<TopicData> topicDatas = new Queue<TopicData>();
struct TopicData
{
public string topicData;
public bool select;
public TopicData(string strTopic, bool select)
{
topicData = strTopic;
this.select = select;
}
}
private void Start()
{
//入队
topicDatas.Enqueue(new TopicData("驾驶装有ABS 系统的机动车,制动过急时同样会发生侧滑。", false));
topicDatas.Enqueue(new TopicData("安装制动防爆死装置(ABS)的车辆,驾驶人发现汽车转向失效时,应轻踏制动踏板。", false));
topicDatas.Enqueue(new TopicData("驾驶有ABS 系统的机动车,在紧急制动的同时转向会发生侧滑。", true));
topicDatas.Enqueue(new TopicData("在坡道上掉头,每次停车时应用行车制动控制,不必使用驻车制动器。", false));
topicDatas.Enqueue(new TopicData("夜间在城市道路超车前要鸣喇叭(变换远近灯光)示意前车,待前车让行后从左侧超越。", false));
topicDatas.Enqueue(new TopicData("驾驶人持超过有效期的驾驶证可以在1年内驾驶机动车。查看本题分析", false));
topicDatas.Enqueue(new TopicData("立交桥上一般都是单向行驶,车辆不必减速行驶", false));
topicDatas.Enqueue(new TopicData("准驾车型为小型自动挡汽车的,可以驾驶低速载货汽车。", false));
topicDatas.Enqueue(new TopicData("行车中遇残疾人影响通行时,应主动减速礼让。", true));
topicDatas.Enqueue(new TopicData("因避让特种车辆而发生违法行为,被电子警察拍到时,可向交管部门复议。", true));
}
private void Update()
{
//输出移除队首的元素 出队
if (Input.GetKeyDown(KeyCode.D))
{
if (topicDatas.Count > 0)
{
showQueue();
TopicData topicData = topicDatas.Dequeue();
UnityEngine.Debug.Log("题目"+ topicData.topicData);
UnityEngine.Debug.Log("正确答案:"+ topicData.select);
}
}
//移除所有元素
if (Input.GetKeyDown(KeyCode.C))
{
topicDatas.Clear();
showQueue();
}
UnityEngine.Debug.Log(topicDatas.Count.ToString());
}
void showQueue()
{
foreach (var value in topicDatas)
{
string str="";
str += value.topicData + " " + value.select + "|";
UnityEngine.Debug.Log(str );
}
}
}
http://www.runoob.com/csharp/csharp-queue.html
Queue 队列的使用的更多相关文章
- C#基础---Queue(队列)的应用
Queue队列,特性先进先出. 在一些项目中我们会遇到对一些数据的Check,如果数据不符合条件将会把不通过的信息返回到界面.但是对于有的数据可能会Check很多条件,如果一个数据一旦很多条件不 ...
- 第19章 queue队列容器
/* 第19章 queue队列容器 19.1 queue技术原理 19.2 queue应用基础 19.3 本章小结 */ // 第19章 queue队列容器 // 19.1 queue技术原理 // ...
- atitit. java queue 队列体系and自定义基于数据库的队列总结o7t
atitit. java queue 队列体系and自定义基于数据库的队列总结o7t 1. 阻塞队列和非阻塞队列 1 2. java.util.Queue接口, 1 3. ConcurrentLink ...
- C#部分---特殊集合:stack栈集合、queue队列集合、哈希表集合。
1.stack栈集合:又名 干草堆集合 栈集合 特点:(1)一个一个赋值 一个一个取值(2)先进后出实例化 初始化 Stack st = new Stack(); //添加元素用push st.Pus ...
- 实现一个线程安全的Queue队列
使用装饰者模式实现一个线程安全的Queue队列. public class SynchronizedQueue<E> implements Queue<E>, Serializ ...
- Python自动化运维之16、线程、进程、协程、queue队列
一.线程 1.什么是线程 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位. 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行 ...
- Stack集合 Queue队列集合 Hashtable哈希表
Stack集合 干草堆集合 栈集合 栈;stack,先进后出,一个一个赋值,一个一个取值,安装顺序来. 属性和方法 实例化 初始化 Stack st = new Stack(); 添加元素 个数 Co ...
- Python第十五天 datetime模块 time模块 thread模块 threading模块 Queue队列模块 multiprocessing模块 paramiko模块 fabric模块
Python第十五天 datetime模块 time模块 thread模块 threading模块 Queue队列模块 multiprocessing模块 paramiko模块 fab ...
- python threading模块使用 以及python多线程操作的实践(使用Queue队列模块)
今天花了近乎一天的时间研究python关于多线程的问题,查看了大量源码 自己也实践了一个生产消费者模型,所以把一天的收获总结一下. 由于GIL(Global Interpreter Lock)锁的关系 ...
- (8)进程---Queue队列
# IPC Inter-Process Communication # 实现进程之间通信的两种机制: # 管道 Pipe 用的很少 # 队列 Queue 队列的特征:现进先出,栈属于后进后出 基本语法 ...
随机推荐
- 转发:Webstorm 2017 破解激活下载
有用过一下,但是觉得比sublime重量太多,但是随着后来用node的开始,发现需要打造个web前端神器才能满足我的需求,于是乎重拾webstorm,目前发现11是新的版本,对node,npm支持性更 ...
- 一位资深Java架构师的晋级心得
架构师是什么? 是一个既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的团队领导型人物.一个架构师得需要足够的想像力,能把各种目标需求进行不同维度的扩展,为目标客户提供更为全面的需求清 ...
- 卸载和删除wozhuan.exe
在虚拟机里面,偶然发现CPU占用居高不下,打开任务管理器,发现有多个 wozhuan.exe 进程,这是个我从来没有见过的进程,顺手卸载后,没过多久,结果又出来了,可以判断,这肯定是虚拟机中奖了.中奖 ...
- Android Studio修改apk打包生成名称
在app的build.gradle文件的android{}括号里添加: android.applicationVariants.all { variant -> variant.outputs. ...
- flask 第二章 endpoint重名 Flask路由 初始化配置 Falsk Config 蓝图+目录结构
今日内容 1.路由的分发,以下两种方式效果一样,但是都能指向同一个函数 from flask import Flask app=Flask(__name__) #第一种方式 @app.route('/ ...
- JavaScript常用数组操作方法,包含ES6方法
一.concat() concat() 方法用于连接两个或多个数组.该方法不会改变现有的数组,仅会返回被连接数组的一个副本. var arr1 = [1,2,3]; var arr2 = [4,5]; ...
- 活代码LINQ——03
一.主模块代码: 'Fig.4.13:GradeBookTest.vb 'GradeBook constructor used to specify the course name at the 't ...
- Quartz定时任务封装
一般的系统都会有一些定时任务,那么我们将这个定时任务封装起来,只要系统需要添加定时任务时,只需调用此方法传入所需要的值即可完成定时任务. 自己自学整理的一些随笔 1.首先对周期粒度进行封装 publ ...
- 浅析Hashmap和Hashtable
一.Hashmap不是线程安全的,而Hashtable是线程安全的 通过查看源码可以发现,hashmap类中的方法无synchronized关键字,而hashtable类中的方法有synchroniz ...
- 文件防删除保护(miniifiter)
0x01 思路(原理) 驱动层文件保护的思路是通过minifilter过滤文件删除相关的IRP,并将目标文件与被保护文件相比较,命中保护规则的话返回STATUS_ACCESS_DENIED拒绝访问:也 ...