医院里面常见的《叫号系统》怎么实现的?
1 文本格式
 /// <summary>
 /// 下面定义一个新的队列,用于演示《实时叫号系统》
 /// </summary>
 Queue<Classmate> q2 = new Queue<Classmate>();
/// <summary>
 /// 《小白学程序》第六课:队列(Queue)的应用————《实时叫号系统》
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void button6_Click(object sender, EventArgs e)
 {
     // #1 排队
     int n = 8;
     for (int i = 0; i < n; i++)
     {
         if (mates[i].Gender == "男")
         {
             q2.Enqueue(mates[i]);
         }
     }
    // #2 启动《实时叫号系统》
     // 每间隔2秒(2000毫秒)钟叫一个人
     timer1.Interval = 2000;
     // 给 true 是启动;给 false 就是停止!
     timer1.Enabled = true;
 }
/// <summary>
 /// 《实时叫号系统》的运行
 /// 本函数只有被“启动”才执行。
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void timer1_Tick(object sender, EventArgs e)
 {
     // 当队列里面还有成员的时候;
     if (q2.Count > 0)
     {
         // 显示第一位成员信息
         Classmate m = q2.Dequeue();
         webBrowser1.DocumentText = m.Id + " " + m.Name + ": " + m.Gender;
     }
     else
     {
         webBrowser1.DocumentText = "没人啦!";
     }
 }
  
2 代码格式
/// <summary>
/// 下面定义一个新的队列,用于演示《实时叫号系统》
/// </summary>
Queue<Classmate> q2 = new Queue<Classmate>();/// <summary>
/// 《小白学程序》第六课:队列(Queue)的应用————《实时叫号系统》
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void button6_Click(object sender, EventArgs e)
{// #1 排队int n = 8;for (int i = 0; i < n; i++){if (mates[i].Gender == "男"){q2.Enqueue(mates[i]);}}// #2 启动《实时叫号系统》// 每间隔2秒(2000毫秒)钟叫一个人timer1.Interval = 2000;// 给 true 是启动;给 false 就是停止!timer1.Enabled = true;
}/// <summary>
/// 《实时叫号系统》的运行
/// 本函数只有被“启动”才执行。
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void timer1_Tick(object sender, EventArgs e)
{// 当队列里面还有成员的时候;if (q2.Count > 0){// 显示第一位成员信息Classmate m = q2.Dequeue();webBrowser1.DocumentText = m.Id + " " + m.Name + ": " + m.Gender;}else{webBrowser1.DocumentText = "没人啦!";}
}
你非常幸运读到的是第一本真正的程序教程。
