C#检查指定范围的缺失范围

时间:2015-10-04 10:18:54

标签: c#

a = 1-30
b = 40-50
c = 60-100

以上范围是1-100。这个范围是31-39。

C#是否具有检查指定范围(1-100)是否缺少任何范围(例如:31-39)或缺失值(例如:31)的功能?

此致

2 个答案:

答案 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;
    }