溫馨提示×

Queue類在C#中的擴展方法有哪些

c#
小樊
85
2024-08-18 06:41:38
欄目: 編程語言

在C#中,可以給Queue類添加各種擴展方法。一些常見的Queue類的擴展方法包括:

  1. EnqueueRange:將一個IEnumerable集合中的元素一次性添加到Queue中。
  2. DequeueRange:從Queue中一次性移除指定數(shù)量的元素,并返回這些元素組成的集合。
  3. PeekOrDefault:獲取Queue中指定位置的元素,如果位置不存在則返回默認值。
  4. Clear:清空Queue中的所有元素。
  5. Contains:判斷Queue中是否包含指定元素。
  6. CopyTo:將Queue中的元素復制到一個數(shù)組中。
  7. TrimExcess:將Queue的容量設置為其實際元素數(shù),從而減少內(nèi)存占用。

這些擴展方法可以通過創(chuàng)建靜態(tài)類并使用擴展方法的語法來實現(xiàn)。例如:

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;
    }

    // 其他擴展方法的實現(xiàn)
}

0