提取字符串中的数据,判断数字是否为连续递增

300 阅读1分钟

规则 :      1,2,3,4,5,6,7,8  正确

1,1,3,4,5,6,7,8  错误 (缺2 是不连续的数字集)

1,4,2,3,5,5,6,7  正确

\

\

请看实现的代码:

\

/// <summary>

        /// 传入的值是否是连续的数字(可重复,但必须是连续的数字)
/// </summary>
/// <param name="str">1,2,3,4,5,6</param>
/// <returns></returns>
public static bool GetStrOrder(string str)
{\

            string[] arry = str.Split(',');

    //此处需注意,想要数字正常排序,必须转换成int数组

            int[] intArray = Array.ConvertAll<string, int>(arry, s => int.Parse(s));
intArray = intArray.Distinct().OrderByDescending(x => x).ToArray();


string StrChk = "";
int Min = intArray.Last();
int Max = intArray.First();
for (int i = Min; i <= Max; i++)
{
StrChk += "," + i;
}
StrChk = StrChk.Substring(1, StrChk.Length - 1);

\

            string[] arryChk = StrChk.Split(',');

    //此处需注意,想要数字正常排序,必须转换成int数组

            int[] intArryChk = Array.ConvertAll<string, int>(arryChk, s => int.Parse(s));
intArryChk = intArryChk.OrderByDescending(x => x).ToArray();


if (intArray.SequenceEqual(intArryChk))
{
return true;
}


return false;
}