2013-06-23 53 views
-1

您好,我一直在坐着這個問題,現在正在嘗試學習C#的同時進行培訓excersise。我正在製作一個帶有4個血管的列表,然後嘗試在其中之一進行分類,出售。 即時通訊使用一個結構與列表中的列表,然後使用while循環來填充它。 我可以把它寫出來列表,它的所有我只是不能得到它排序。 我試過使用list.sort,但我不能讓它接受命令。結構如下。C#使用結構中的整數對列表進行排序

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++; 
} 

回答

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)); 
+0

注:他將不得不包括'System.Linq'命名空間。 –

+0

@DaveZych真。 –

+0

非常感謝你的魅力!無法找到System.Linq所以使用Array.Sort :) – Rasse992

相關問題