c#

Queue类在C#中的扩展方法有哪些

小樊
85
2024-08-18 06:41:38
栏目: 编程语言

在C#中,可以给Queue类添加各种扩展方法。一些常见的Queue类的扩展方法包括:

  1. EnqueueRange:将一个IEnumerable集合中的元素一次性添加到Queue中。
  2. DequeueRange:从Queue中一次性移除指定数量的元素,并返回这些元素组成的集合。
  3. PeekOrDefault:获取Queue中指定位置的元素,如果位置不存在则返回默认值。
  4. Clear:清空Queue中的所有元素。
  5. Contains:判断Queue中是否包含指定元素。
  6. CopyTo:将Queue中的元素复制到一个数组中。
  7. TrimExcess:将Queue的容量设置为其实际元素数,从而减少内存占用。

这些扩展方法可以通过创建静态类并使用扩展方法的语法来实现。例如:

public static class QueueExtensions
{
    public static void EnqueueRange<T>(this Queue<T> queue, IEnumerable<T> collection)
    {
        foreach (var item in collection)
        {
            queue.Enqueue(item);
        }
    }

    public static IEnumerable<T> DequeueRange<T>(this Queue<T> queue, int count)
    {
        List<T> result = new List<T>();
        for (int i = 0; i < count && queue.Count > 0; i++)
        {
            result.Add(queue.Dequeue());
        }
        return result;
    }

    // 其他扩展方法的实现
}

0
看了该问题的人还看了