a = 1-30
b = 40-50
c = 60-100
以上范围是1-100。这个范围是31-39。
C#是否具有检查指定范围(1-100)是否缺少任何范围(例如:31-39)或缺失值(例如:31)的功能?
此致
答案 0 :(得分:3)
假设'输入'包含输入,如果范围中缺少任何数字,则以下代码将返回true:
bool result = Enumerable.Range(1, 100).Except(input).Any();
答案 1 :(得分:1)
您可以创建自己的方法:
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;
}