Average
работает только для следующих типов: decimal
, int
, long
, float
, double
.
Сейчас ваша коллекция T
, что невозможно усреднить.
Вам нужно использовать селектор в вашей коллекции и записать его напрямую.
Пример, позвольте сказать, что у вас есть следующий класс
public class MyData
{
public string Title {get;set;} = "";
public double Value {get;set;} = 0d;
}
и скажем, что у вас есть очередь:
FixedSizeQueue<MyData> queue = new FixedSizeQueue<MyData>();
// add some data ...
queue.Enqueue(new MyData());
Теперь, чтобы получить среднее значение, вам нужно указать, что вы хотите усреднить, и здесь я хочу свойство Value
, тогда я бы сделал это (очень явно)
double averageValue = queue.ToList().Average(data => data.Value);