排序泛型列表或類/結構的陣列基於類屬性或元素屬性
創建一個類來保存成本及其索引然後進行排序的數組或列表這個類
你可以添加事件閃避,ATT,成本,每個項目名稱屬性類
我這裏是
public class CostData
{
public int Cost;
public int ID;
public CostData(int CostAmount, int CostID)
{
Cost = CostAmount;
ID = CostID;
}
}
private void button1_Click(object sender, EventArgs e)
{
List<CostData> itemcost = new List<CostData> {
new CostData(100, 1),
new CostData(300, 2),
new CostData(900, 3),
new CostData(300, 4),
new CostData(100, 5),
new CostData(300, 6)
};
List<CostData> SortedList = itemcost.OrderByDescending((CostData i) => i.Cost).ToList();
Console.WriteLine(SortedList[0].Cost.ToString() + " on index " + SortedList[0].ID.ToString());
// you can do same with Arrray
CostData[] itemcost2 = new CostData[] {
new CostData(100, 1),
new CostData(300, 2),
new CostData(900, 3),
new CostData(300, 4),
new CostData(100, 5),
new CostData(300, 6)
};
CostData[] SortedList2 = itemcost2.OrderByDescending((CostData i) => i.Cost).ToArray();
Console.WriteLine(SortedList2[0].Cost.ToString() + " on index " + SortedList2[0].ID.ToString());
}
不要使用單獨的值的陣列,使用的是包含用於所有相關的值屬性的類的陣列(或列表)。 – CodeCaster
當然,這將是理想的,但問題是,雖然這很容易讓我在PHP中做,在C#這是很難做! – Adam
說我有每個項目def,att,cost,name屬性什麼是最好的存儲方式,通過att(降序)排序然後得到列表中的第二項? – Adam