@@ -32,34 +32,46 @@ public static char StandardChar(char c)
3232 return char . ToUpperInvariant ( o ) ;
3333 }
3434
35- public static bool Equals ( string left , string right )
35+ public static bool EqualsOnce ( string left , string right )
3636 {
37- if ( left == null ) return false ;
38- if ( right == null ) return false ;
3937 if ( left . Length != right . Length ) return false ;
4038 for ( int i = 0 ; i < left . Length ; i ++ ) {
41- var a = StandardChar ( left [ i ] ) ;
42- var b = StandardChar ( right [ i ] ) ;
43- if ( a != b ) {
44- return false ;
39+ if ( left [ i ] != right [ i ] ) {
40+ var a = StandardChar ( left [ i ] ) ;
41+ var b = StandardChar ( right [ i ] ) ;
42+ if ( a != b ) return false ;
4543 }
4644 }
4745 return true ;
4846 }
47+
48+ public static bool Equals ( string left , string right )
49+ {
50+ if ( left == null ) return false ;
51+ if ( right == null ) return false ;
52+ return EqualsOnce ( left , right ) ;
53+ }
4954 public static bool Equals ( string left , string arg1 , string arg2 )
5055 {
51- if ( Equals ( left , arg1 ) )
56+ if ( left == null ) return false ;
57+ if ( arg1 != null && EqualsOnce ( left , arg1 ) )
58+ return true ;
59+ if ( arg2 != null && EqualsOnce ( left , arg2 ) )
5260 return true ;
53- return Equals ( left , arg2 ) ;
61+ return false ;
5462 }
5563
56- public static bool Equals ( string left , string arg1 , string arg2 , string arg3 )
64+ public static bool Equals ( string left , string arg1 , string arg2 , string arg3 )
5765 {
58- if ( Equals ( left , arg1 ) )
66+ if ( left == null ) return false ;
67+ if ( left == null ) return false ;
68+ if ( arg1 != null && EqualsOnce ( left , arg1 ) )
69+ return true ;
70+ if ( arg2 != null && EqualsOnce ( left , arg2 ) )
5971 return true ;
60- if ( Equals ( left , arg2 ) )
72+ if ( arg3 != null && EqualsOnce ( left , arg3 ) )
6173 return true ;
62- return Equals ( left , arg3 ) ;
74+ return false ;
6375 }
6476
6577 }
0 commit comments