Beispiel #1
0
        public static EM_StringCompare StringCompare(string Ps_Left, string Ps_Right)
        {
            EM_StringCompare Li_Result   = EM_StringCompare.EQUAL;
            bool             Lb_IsFinish = false;

            int Li_MinLength = Math.Min(Ps_Left.Length, Ps_Right.Length);

            for (int i = 0; i < Li_MinLength; i++)
            {
                if (Ps_Left[i] > Ps_Right[i])
                {
                    Li_Result   = EM_StringCompare.BIG_LEFT;
                    Lb_IsFinish = true;
                    break;
                }
                else if (Ps_Left[i] < Ps_Right[i])
                {
                    Li_Result   = EM_StringCompare.BIG_RIGHT;
                    Lb_IsFinish = true;
                    break;
                }
            }

            if (!Lb_IsFinish)
            {
                if (Ps_Left.Length > Ps_Right.Length)
                {
                    Li_Result = EM_StringCompare.BIG_LEFT;
                }
                else if (Ps_Left.Length < Ps_Right.Length)
                {
                    Li_Result = EM_StringCompare.BIG_RIGHT;
                }
                else
                {
                    Li_Result = EM_StringCompare.EQUAL;
                }
            }

            return(Li_Result);
        }
Beispiel #2
0
        public static EM_StringCompare VersionCompare(string Ps_Left, string Ps_Right)
        {
            EM_StringCompare Li_Result   = EM_StringCompare.EQUAL;
            bool             Lb_IsFinish = false;

            char Lc_Seperator = '.';

            string[] Ls_Left  = Ps_Left.Split(Lc_Seperator);
            string[] Ls_Right = Ps_Right.Split(Lc_Seperator);


            int Li_MinLength = Math.Min(Ls_Left.Length, Ls_Right.Length);

            for (int i = 0; i < Li_MinLength; i++)
            {
                if (IsDigit(Ls_Left[i]) && IsDigit(Ls_Right[i]))
                {
                    int Li_Left  = Convert.ToInt32(Ls_Left[i]);
                    int Li_Right = Convert.ToInt32(Ls_Right[i]);
                    if (Li_Left > Li_Right)
                    {
                        Li_Result   = EM_StringCompare.BIG_LEFT;
                        Lb_IsFinish = true;
                        break;
                    }
                    else if (Li_Left < Li_Right)
                    {
                        Li_Result   = EM_StringCompare.BIG_RIGHT;
                        Lb_IsFinish = true;
                        break;
                    }
                    else
                    {
                        continue;
                    }
                }
                else
                {
                    Li_Result   = EM_StringCompare.ERROR;
                    Lb_IsFinish = true;
                    break;
                }
            }

            if (!Lb_IsFinish)
            {
                if (Ls_Left.Length > Ls_Right.Length)
                {
                    Li_Result = EM_StringCompare.BIG_LEFT;
                }
                else if (Ls_Left.Length < Ls_Right.Length)
                {
                    Li_Result = EM_StringCompare.BIG_RIGHT;
                }
                else
                {
                    Li_Result = EM_StringCompare.EQUAL;
                }
            }

            return(Li_Result);
        }