Là một chẩn đoán, tôi muốn hiển thị số chu kỳ mỗi giây trong ứng dụng của tôi. (Hãy suy nghĩ khung hình mỗi giây trong trò chơi bắn súng góc nhìn thứ nhất.)Mảng đơn giản (di chuyển trung bình) trong C#
Nhưng tôi không muốn hiển thị giá trị gần đây nhất hoặc trung bình kể từ khi ra mắt. Những gì tôi muốn tính toán là giá trị trung bình của các giá trị X cuối cùng.
Câu hỏi của tôi là, tôi giả sử, về cách tốt nhất để lưu trữ các giá trị này. Suy nghĩ đầu tiên của tôi là tạo một mảng kích thước cố định, vì vậy mỗi giá trị mới sẽ đẩy ra giá trị cũ nhất. Đây có phải là cách tốt nhất để làm điều đó không? Nếu vậy, làm thế nào tôi sẽ thực hiện nó?
EDIT: Đây là lớp tôi đã viết: RRQueue. Nó thừa hưởng Hàng đợi, nhưng thi hành khả năng và các giải pháp nếu cần thiết.
CHỈNH SỬA 2: Pastebin thật tuyệt vời. Bây giờ trên a GitHub repo.
Queue chắc chắn là con đường để đi. Upvote! – ehdv
Tôi có phải sao chép vào một mảng để lấy giá trị trung bình của tất cả các giá trị không? –
@Tom: Không, hàng đợi chung .NET thực hiện 'IEnumerable 'do đó bạn có thể chỉ liệt kê các phần tử để tính giá trị trung bình của bạn. –