如果您需要能够插入并在中间免去很多,你可以考虑使用一个SortedDictionary,例如:
(注:这需要部分号码是唯一的;不同的部分不能有相同的PartNumber)
using System;
using System.Collections.Generic;
namespace Demo
{
internal class Program
{
private static void Main(string[] args)
{
var parts = new SortedDictionary<string, CarPart>(); // Key is a string.
var part = new CarPart{PartNumber = "NumberOne", PartName = "NameOne", UnitPrice = 100.0m};
parts.Add(part.PartNumber, part);
part = new CarPart{PartNumber = "NumberTwo", PartName = "NameTwo", UnitPrice = 100.0m};
parts.Add(part.PartNumber, part);
part = new CarPart{PartNumber = "NumberThree", PartName = "NameThree", UnitPrice = 100.0m};
parts.Add(part.PartNumber, part);
part = new CarPart{PartNumber = "NumberFour", PartName = "NameFour", UnitPrice = 100.0m};
parts.Add(part.PartNumber, part);
foreach (var p in parts)
{
// Part numbers printed out in *alphabetical* order (because they are strings).
Console.WriteLine("Part number = " + p.Value.PartNumber);
}
}
}
public sealed class CarPart
{
public string PartNumber;
public string PartName;
public Decimal UnitPrice;
}
}
你问如何实现排序,或如何使用现有的.NET框架排序方法? – driis 2013-03-24 17:28:35
您可以从查看一些排序算法开始。采取最简单的选择排序:http://en.wikipedia.org/wiki/Selection_sort – BlackBear 2013-03-24 17:28:38
您是否想对列表进行排序,还是希望将代码的输出进行排序? – Guffa 2013-03-24 17:33:48