码迷,mamicode.com
首页 > 其他好文 > 详细

Dictionary与SortedDictionary

时间:2018-03-20 12:49:16      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:turn   i++   val   存在   string   name   ems   gpo   public   

Dictionary是无序的,如果想排序,需要使用SortDictionary.下面是一个用法示例

        //按照某个字段排序
        public List<Card>  SortByCardItem(List<Card> cards,string itemName,SortOrder sortOrder)
        {
            List<Card> returnList = new List<Card>();
            SortedDictionary<string, Card> sd = new SortedDictionary<string, Card>();
            for (int i = 0; i < cards.Count; i++)
            {
                var v = cards[i].CardItems.Find(c => c.Name.Equals(itemName));
                if(v==null)//说明不存在某个字段
                {
                    return cards;
                }
                sd.Add(v.Value, cards[i]);
            }
                
            if (sortOrder==SortOrder.Ascending)//升序
            {
                foreach (var item in sd)
                {
                    returnList.Add(item.Value);
                }
            }
            else//降序
            {
                foreach (var item in sd.Reverse())
                {
                    returnList.Add(item.Value);
                }
            }
            return returnList;

        }

 

Dictionary与SortedDictionary

标签:turn   i++   val   存在   string   name   ems   gpo   public   

原文地址:https://www.cnblogs.com/zhaogaojian/p/8608342.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!