规则 : 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[] 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[] intArryChk = Array.ConvertAll<string, int>(arryChk, s => int.Parse(s));
intArryChk = intArryChk.OrderByDescending(x => x).ToArray();
if (intArray.SequenceEqual(intArryChk))
{
return true;
}
return false;
}