【发布时间】:2021-05-10 21:54:57
【问题描述】:
所以我正在编写这段代码,但我不知道它为什么拒绝排序。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace SoloLearn
{
class Program
{
static void Main(string[] args)
{
Dictionary<string, int> metals = new Dictionary<string, int>();
metals.Add("Platinum", 70);
metals.Add("Iridium", 20);
metals.Add("Palladium", 30);
metals.Add("Scandium", 12);
Console.Write("Enter metal: ");
string metalName = Console.ReadLine();
Console.Write("Enter price: ");
int price = Convert.ToInt32(Console.ReadLine());
metals.Add(metalName, price);
int[] prices = metals.Values.ToArray<int>();
Array.Sort(prices);
int arraySize = prices.Length;
KeyValuePair<string, int> keyValuePair = metals.ElementAt(arraySize - 1);
string metalsKey = keyValuePair.Key;
Console.WriteLine("The most expensive: {0}", metalsKey);
Console.ReadKey();
}
}
}
它没有返回任何错误,所以我不知道问题是什么。
请给我详细的解释。
【问题讨论】:
-
试试
metalsKey = metals.OrderByDescending( x => x.Value ).First().Key
标签: c# arrays sorting dictionary