c# Queue的两种遍历方法

一、Queue的遍历方法常用的有两种,网上大部分的遍历方法如下:


using System;
using System.Collections;
using System.Collections.Generic;
 
namespace Queue_Test
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Queue queue = new Queue();
            queue.Enqueue("hello");
            queue.Enqueue(true);
            queue.Enqueue(9.9);
 

          foreach (var item in queue)
            {
                Console.WriteLine(item);
            }
            Console.WriteLine("长度:" + queue.Count);

            Console.ReadKey();
        }
    }

第一种遍历方法适用于将数据直接丢入队列中。如果丢入队列的数据是个类,那又该如何遍历访问?下面上第二种。

定义两个不同的类变量值丢入队列中。

mymmeber newmem =new mymmeber();
Queue queue = new Queue();
newmem.Name = "fsa";
newmem.Value = "sadfsa";
queue.Enqueue(newmem);
mymmeber newmem1 = new mymmeber();
newmem1.Name = "ssd";
newmem1.Value = "sadfsa";
queue.Enqueue(newmem1);

建立一个IEnumerator实例 it指向queue对象。这个有点像c++中的迭代器。

然后it迭代访问,过程中将it中的current 重命名为mymmeber。使得可以以mymmeber的对象实例访问其中的数据。

IEnumerator it = queue.GetEnumerator();
while (it.MoveNext())
{
    mymmeber them = it.Current as mymmeber;

    Console.WriteLine(them.Name);
    Console.WriteLine(them.Value);
}

这是定义的数据类,里面包含两个string变量 Name和Value。

class mymmeber
{
    public string Name;
    public string Value;
    public string PersonName{ get { return Name; }set { Name = value; } }
    public string PersonValue { get { return Value; } set { Value = value; } }
}

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值