代码之家  ›  专栏  ›  技术社区  ›  Rusty Nail

列表中的快速序列检查<int>[重复]

  •  -2
  • Rusty Nail  · 技术社区  · 7 年前

    List<int> sequence = new List<int> { 0, 1, 2, 3, 4, 5, 6, 7 … 41}
    
    
    
    private bool IsSequential(List<int> sequence)
    {
    
        int S = sequence[0];
        int T = sequence[sequence.Count- 1];
    
        List<int> Possible = Enumerable.Range(S, T).ToList();
        List<int> Except = sequence.Except(Possible).ToList();
    
        if (Except.Count == 0)
            return true;
        else
            return false;
    }
    

    我的代码返回1如果列表相同,我有某种计数问题?

    我想知道是否有更好的方法来检查整数序列:200201202。。。等等

    某些序列可能不符合顺序:200、210、203、204。。。我需要确定这个问题。

    谢谢

    1 回复  |  直到 7 年前
        1
  •  3
  •   PSK    7 年前

    你可以尝试使用下面的方法 SequenceEqual .

      List<int> sequence = new List<int> { 0, 1, 2, 3, 4, 5, 6, 7 };
      bool isInSequence = sequence.SequenceEqual(Enumerable.Range(sequence[0], sequence.Count()));
    
    推荐文章