阅读量:0
在C#中,可以给Queue类添加各种扩展方法。一些常见的Queue类的扩展方法包括:
- EnqueueRange:将一个IEnumerable集合中的元素一次性添加到Queue中。
- DequeueRange:从Queue中一次性移除指定数量的元素,并返回这些元素组成的集合。
- PeekOrDefault:获取Queue中指定位置的元素,如果位置不存在则返回默认值。
- Clear:清空Queue中的所有元素。
- Contains:判断Queue中是否包含指定元素。
- CopyTo:将Queue中的元素复制到一个数组中。
- 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; } // 其他扩展方法的实现 }