我现在有一个发票号段,我要在现有的发票号段上做如下操作:
增加号段: 1-100, 201-500
删除号段: 50-150,260-300,450-600.
如何得出最终要真实增加的号段和删除的号段?
意思就是要去掉这类中的重复数据,然后分别得到各自真实的数据。
------解决思路----------------------
//增加号段: 1-100, 201-500
//删除号段: 50-150,260-300,450-600.
List<int> addList = new List<int>();
List<int> disList = new List<int>();
addList.AddRange(Glist(1, 100));
addList.AddRange(Glist(201, 500));
var addquery = addList.Distinct();
disList.AddRange(Glist(50, 150));
disList.AddRange(Glist(260, 300));
disList.AddRange(Glist(450, 600));
var disquery = disList.Distinct();
//addquery与disquery差集
var a = addquery.Except(disquery); //增加的号段
var b = disquery.Except(addquery); //删除的号段
Console.ReadKey();
static IEnumerable<int> Glist(int s, int e)
{
//最好验证下s和e的大小
return Enumerable.Range(s, e - s + 1);
}
------解决思路----------------------
1楼,这个需求都能理解啊。。。。我只能……………………
------解决思路----------------------
膜拜1楼,这需求都能懂