webForumDet fria alternativet
Logga in / Bli medlem

Sortera lista med objekt

.NET

3 svar · 292 visningar · startad av Razofish

Medlem sedan sep. 2000780 inlägg
Trådstart#1

Hej

Jag har en array som innehåller tio säljare:

public static Employee[] staff = new Employee[10];

När jag skapar mina säljare använder jag följande kod:

staff[i] = new Employee(_name,_pnr,_district,_sales);
i++;

Variabeln _sales är en int(eger) som innehåller hur många produkter som säljaren har sålt och kan hämtas mha:

staff[i].GetSales()

Nu till min fråga, hur gör jag för att skriva ut min array sorterad efter antal sålda produkter (_sales)

Medlem sedan juni 20008 205 inlägg
Medlem sedan dec. 19996 721 inlägg
#3
public class EmployeeSalesComparer : System.Collections.IComparer 
{
    public int Compare(object obj1, object obj2) 
    {
        Employee emp1=obj1 as Employee;
        Employee emp2=obj2 as Employee;
        
        if (emp1!=null && emp2!=null)
        {
             if (emp1.Sales>emp2.Sales)
                  return 1;
             if (emp2.Sales>emp1.Sales)
                  return -1;
        }
         return 0;
    }
}

......

//Användning

Array.Sort(staff, new EmployeeSalesComparer());
Medlem sedan sep. 2000780 inlägg
#4

Kungligt emission :)

372 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
120 ms — deklarationer (db)
119 ms — hämta statistik (db)
127 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)