c# - 检查数字数组是否连续的功能方法

标签 c# .net c#-3.0

如果每个成功的元素都具有前一个元素的值 + 1,那么假设一个数组是连续的。假设我有一个数字数组,例如 {5,6,7,8}(顺序)或 {1,2,5}(非顺序)。

是否有一个很好的功能方法来检查数组是否是连续的?我可以使用以下代码来完成:

bool IsSequential(int[] array)
{
    for (int i = 1; i < array.Length; i++)
       if (array[i] != array[i - 1] + 1)
            return false;
    return true;
}

我正在尝试确定一手扑克牌是否顺子。

最佳答案

试试这个:

    bool IsSequential(int[] array)
    {
        return array.Zip(array.Skip(1), (a, b) => (a + 1) == b).All(x => x);
    }

关于c# - 检查数字数组是否连续的功能方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18225010/

相关文章:

c# - 需要类(class)帮助吗?可能很简单

c# - 如何初始化虚拟自动属性?

c# - 在 MVC 中调用和返回 SQL 函数值

c# - 尝试在 Visual Studio 2010 中创建聊天应用程序

C# CLR/编译问题

c# - EO WebBrowser 页面缓存问题

.net - 合并 .net 对象图

c# - 特定标签及其内容的正则表达式,按标签名称分组

c# - 为什么 html.dropdownlist 将第一个属性选项设置为选中?

C#,将字符串编码/解码为一些带有校验和的简单代码