C# C如何将队列参数作为值而不是默认引用传递

C# C如何将队列参数作为值而不是默认引用传递,c#,C#,我有一个类,它接受队列参数作为引用。我不想更改已发送队列,所以请使用值而不是引用 public static Deque<DateClose> SMAMethod (Queue<DateClose> queue, int period) { _queue = queue; _period = period; decimal average, sum=0; Deque<DateClose

我有一个类,它接受队列参数作为引用。我不想更改已发送队列,所以请使用值而不是引用

    public static Deque<DateClose> SMAMethod (Queue<DateClose> queue, int period)
    {
        _queue = queue;
        _period = period;

        decimal average, sum=0;
        Deque<DateClose> sample = new Deque<DateClose>(_period);
        DateClose dateClose = null;
        for (int i = 0; i < _period; i++)
        {
            dateClose = _queue.Dequeue();

            if (dateClose != null)
            {
                sum += dateClose.ClosingPrice;
                sample.AddToBack(dateClose);
            }
        }
        average = sum/_period;
        DateClose dc = new DateClose { Time = dateClose.Time, ClosingPrice = average };

        sample.AddToBack(dc);
        return sample;
    }

也许你应该使用浅克隆


也许你应该使用浅克隆


我必须使用:_queue=new Queuequeue;我必须使用:_queue=new Queuequeue;
// send the movingAverageQueue along with the MAperiod to caluclate a SMA queue
var simpleMovingAverage = SMA.SMAMethod(movingAverageQueue, MAperiod);
public static Deque<DateClose> SMAMethod (Queue<DateClose> queue, int period)
{
    _queue = queue.Clone();
    //....