a = 1-30
b = 40-50
c = 60-100
上面的范围是1-100。此范围错过31-39。是否C#具有检查指定范围(1-100)是否缺少任何范围(例如:31-39)或缺少值(例如:31)的功能?C#检查指定范围内的丢失范围
问候
a = 1-30
b = 40-50
c = 60-100
上面的范围是1-100。此范围错过31-39。是否C#具有检查指定范围(1-100)是否缺少任何范围(例如:31-39)或缺少值(例如:31)的功能?C#检查指定范围内的丢失范围
问候
假定“输入”包含输入,下面的代码将返回true,如果任何号码从范围丢失:
bool result = Enumerable.Range(1, 100).Except(input).Any();
请注意,为了做到这一点,他必须将'a','b'和'c'连接到一个'IEnumerable
,你可以创建自己的方法,这样的:
public List<int> CheckRange(int FirstRangeEnd, int SecondRangeStart)
{
List<int> missing = new List<int>();
if (SecondRangeStart - FirstRangeEnd == 0)
{
missing.Add(-1);
return missing;
}
for (int i= 0; i<= SecondRangeStart - FirstRangeEnd; i++)
{
missing.Add(FirstRangeEnd + i);
}
missing.RemoveAt(0);
missing.RemoveAt(missing.Count - 1);
return missing;
}
您的输入不清楚。 a,b和c是整数列表吗? – DarkKnight
其实是一个双精度列表 – wiwiedbulu