コンパレータを含む数値文字列

     いくつかの並べ替えのために主に、サイズ決められた数よりも多くを備えた文字列の比較正常数

   /// <要約> 
        ///は番号付きコンテンツは、デジタル数字の大きさに応じて比較する場合、2つの文字列を比較します。
        /// </要約> 
        /// <PARAM NAME = "X"> </ param>の
        /// <PARAM NAME = "Y"> </ param>の
        /// <戻り値> </戻り値> 
        公共の 静的な int型 StringCompareByNum(文字 X、Y)
        { 
            // 契約ヌルがあり、ヌル空の判定は、空の大等しくない
            IF(X == NULL || Y ==のNULL 
            { 
                IF(X == NULL &&
                     
                } 
                そう であれば(!X = NULL 
                { 
                    返す 1 
                } 
                
                { 
                    リターン - 1 
                } 
            } 
            ストリング STRA = Convert.ToString(X)。
            ストリング STRB = Convert.ToString(Y)。
            CHAR [] ARR1 = strA.ToCharArray()。
            CHAR [] ARR2 = strB.ToCharArray()。
            int型 I = 0、J = 0 ;
            同時に(I <arr1.Length && J < arr2.Length)
            { 
                場合チャー .IsDigit(ARR1 [I])&& チャー.IsDigit(ARR2 [J]))
                { 
                    ストリング S1 = ""、S2 = "" ;
                    一方、(I <arr1.Length && チャー.IsDigit(ARR1 [I]))
                    { 
                        S1 + = ARR1 [I]。
                        I ++ ; 
                    } 
                    一方、(J <arr2.Length && チャー.IsDigit(ARR2 [J]))
                    {
                        S2 ARR2 [J]。
                        J ++ ; 
                    } 
                    場合二重 .Parse(S1)が> 二重.Parse(S2))
                    { 
                        返す 1 
                    } 
                    であれば二重 .Parse(S1)< 二重.Parse(S2))
                    { 
                        リターン - 1 
                    } 
                } 
                
                { 
                    場合(ARR1 [I]> ARR2 [J])
                    { 
                        リターン 1; 
                    } 
                    もし(ARR1 [I] < ARR2 [J])
                    { 
                        リターン - 1 
                    } 
                    私は ++します; 
                    J ++ ; 
                } 
            } 
            もし(arr1.Length == arr2.Length)
            { 
                戻り 0 ; 
            } 
            
            { 
                返す arr1.Length> arr2.Lengthを?1: - 1 
            } 
        }

 

おすすめ

転載: www.cnblogs.com/singlelcx/p/11203524.html