你好我一直坐在这个问题上,在尝试学习C#时进行训练。我正在制作一个包含4个变量的列表,然后尝试按照其中一个变量对它们进行排序,已售出。 我使用结构来生成带有变量的列表,然后使用while循环来填充它。 我可以把它写出来列出它所有那里我只是不能让它排序。 香港专业教育学院尝试使用list.sort,但我不能让它接受命令。结构如下。
Public struct Sale
{
public string Name;
public decimal Personalnumber;
public string District;
public int Sold;
}
列表和while循环。
Console.WriteLine("Press Enter to start");
Console.ReadLine();
Sale[] saleslist = new Sale[8]; //skapar en lista
int i = 0;
while (i < 8)
{
Console.WriteLine("Enter Name");
saleslist[i].Name = Console.ReadLine(); //indata namn
Console.WriteLine("Enter Personalnumber");
saleslist[i].Personalnumber = decimal.Parse(Console.ReadLine());//indata personnummer
Console.WriteLine("Enter District");
saleslist[i].District = Console.ReadLine();//indata distrikt
Console.WriteLine("Enter amount sold");
saleslist[i].Sold = int.Parse(Console.ReadLine()); //indata antal sålda
Console.WriteLine("Press Enter to continue to next person"); /* tryck enter för att gå vidare*/
i++;
}
答案 0 :(得分:4)
尝试使用Enumerable.OrderBy
:
salesList = salesList.OrderBy(n => n.Sold).ToArray();
您还需要在文件顶部添加using System.Linq;
。
或者,您也可以使用Array.Sort
:
Array.Sort(salesList, (a, b) => a.Sold.CompareTo(b.Sold));