c#检查指定范围中缺失的范围

本文关键字:范围 检查 | 更新日期: 2023-09-27 18:15:59

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

以上范围为1 ~ 100。这个距离是31-39。

c#是否有一个函数来检查指定的范围(1-100)是否缺少任何范围(例如:31-39)或缺少值(例如:31)?

c#检查指定范围中缺失的范围

假设'input'包含输入,如果范围中缺少任何数字,则以下代码将返回true:

bool result = Enumerable.Range(1, 100).Except(input).Any();

你可以像这样创建你自己的方法:

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