2015-10-04 132 views
0
a = 1-30 
b = 40-50 
c = 60-100 

上面的範圍是1-100。此範圍錯過31-39。是否C#具有檢查指定範圍(1-100)是否缺少任何範圍(例如:31-39)或缺少值(例如:31)的功能?C#檢查指定範圍內的丟失範圍

問候

+0

您的輸入不清楚。 a,b和c是整數列表嗎? – DarkKnight

+0

其實是一個雙精度列表 – wiwiedbulu

回答

3

假定「輸入」包含輸入,下面的代碼將返回true,如果任何號碼從範圍丟失:

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

請注意,爲了做到這一點,他必須將'a','b'和'c'連接到一個'IEnumerable '。 –

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