10个元素的集合(仅限)

时间:2010-09-03 01:44:13

标签: c# collections listbox windows-phone-7

我想制作一个只有10个元素的分数列表。基本上,简单的集合增加了价值。如果新值高于其他值,则添加一个,最后一个退出。 (每个人都知道它看起来像:))

其次,我需要一个已更改的5个最新值的列表,如历史记录面板。

总而言之,两者都非常相似 - 列表中的项目有限。

这些是否有一个整洁的模式?一些很酷的片段?我需要使用Silverlight for WP7,低功耗解决方案会很棒。我应该自己制作收藏品吗?从一个或实现接口派生。 Thx提前。

2 个答案:

答案 0 :(得分:2)

我认为System.Collections.Generic.Queue<T>正是您想要的。

答案 1 :(得分:0)

我做了类似的事情将它限制为15.在WP7中似乎没有OrderBy:/

    public void SaveScore(ScoreInfo scoreInfo)
    {
        var listOfScoreInfo = this.GetListOrDefault<ScoreInfo>(App.SCORE);
        bool isAdd = true;
        foreach (var info in listOfScoreInfo)
        {
            if (info.Name == scoreInfo.Name && info.Score == scoreInfo.Score)
                isAdd = false;
        }
        if(isAdd)
            listOfScoreInfo.Add(scoreInfo);
        listOfScoreInfo.Sort(scoreInfo.Compare);

        if (listOfScoreInfo.Count > 15)
        {
            listOfScoreInfo.RemoveAt(15);
        }

        this.AddOrUpdateValue(App.SCORE, listOfScoreInfo);
        this.Save();
    }