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();
//....