我想要做的是创建一个方法,它能够计算出某些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