日期:2014-05-18 浏览次数:20978 次
Dictionary<string,int> NewLengths = new Dictionary<string,int>();
            for (int n = 0; n < tableArray.Length - 1; n++)
            {
                for (int u = 0; u < TableLengths.Count; u++)
                {
                    if (TableLengths[u].Name == tableArray[n])
                    {
                        NewLengths.Add(TableLengths[u].Name,TableLengths[u].Length);
                    }
                }
            }
            string[] itemList =new string[] { "x=10", "y=5", "k=4", "r=9" };
            int flag = 1;
            int i, j;
            int itemCount = itemList.Length;
            string itemTemp;
            for (i = 1; i < itemCount && flag == 1; i++)
            {
                flag = 0;
                for (j = 0; j < itemCount - i; j++)
                {
                    string itemfore = itemList[j];
                    int countfore = Convert.ToInt32(itemfore.Substring(itemfore.IndexOf('=') + 1, itemfore.Length - (itemfore.IndexOf('=') + 1)));
                    string itemback = itemList[j + 1];
                    int countback = Convert.ToInt32(itemback.Substring(itemback.IndexOf('=') + 1, itemback.Length - (itemback.IndexOf('=') + 1)));
                    if (countfore < countback)
                    {
                        flag = 1;
                        itemTemp = itemList[j];
                        itemList[j] = itemList[j + 1];
                        itemList[j + 1] = itemTemp;
                    }
                }
            }
            return itemList;
        }
------解决方案--------------------
放到List里,用List.Sort排序,效率最高,
------解决方案--------------------
字典无序,现排即可....
NewLengths.OrderBy(o=>o.Value)
如果集合很大,你应该用其他数据结构...
------解决方案--------------------
class Program
    {
        static int keySelector(KeyValuePair<string, int> entry)
        {
            return entry.Value;
        }
        static void Main()
        {
            Dictionary<string, int> vals = new Dictionary<string, int>();
            vals.Add("asp.net", 3);
            vals.Add("vb.net", 2);
            vals.Add("html5", 1);
            IOrderedEnumerable<KeyValuePair<string, int>> result = vals.OrderBy(keySelector);
            foreach (var item in result)
                Console.WriteLine("{0}:{1}", item.Key, item.Value);
        }
    }