我想要做的是創建一個方法,它能夠計算出某些int在我的數字列表中是否不一致(method
應返回缺少的數字)用於檢查對象列表中的數字consist的方法
例如,如果我有List<MyObject>
這樣的:
class MyObject
{
public string Name{ get; set;}
public int Order{ get; set;}
public MyObject(string name, int order)
{
Name = name;
Order = order;
}
}
List<MyObject> list = new List<MyObject>{new MyObject("1",1),new MyObject("2",2),new MyObject("4",4)};//and so on here can be even 100+ object
//or
list = new List<MyObject>{new MyObject("2",2), new MyObject("1",1), new MyObject("4",4)};
現在我想Add
一些new MyObject
我List
它應該得到失蹤Order
值在這種情況下3
我可以做:
list = list.OrderBy(x=>x.Order);//this will sort my array
現在我卡住瞭如何讓程序知道有一個缺少的Order
數字?
我認爲這是清楚我想要做的(如果不是請詢問)
編輯: 訂單號不是唯一的。
謝謝大家的幫助
爲什麼你要做'Enumarable.Range(min,max-min + 1);'?範圍總是從1開始。而'Range'用'max'值或不帶?返回'array'? – harry180 2013-02-15 16:02:33
@ harry180:因爲您想查找最小和最大訂單號碼之間的所有缺失訂單,是嗎?如果不是這種情況,你可以使用'Enumerable.Range(1,max)'。不,它不返回一個數組,它類似於循環變量從'1'開始並在'max'結束的'for-loop'。所以不必創建額外的集合。 – 2013-02-15 16:05:20
確定:)我將使用'Range'開始'1'。感謝您的幫助:) – harry180 2013-02-15 16:11:13