[Mono-list] string equals method

Danny dgortonii at gmail.com
Tue May 21 22:34:34 UTC 2013


The mono question is easy to answer by looking at their sources.  The 
.NET question is easy to answer by using Reflector/ILSpy/or similar.  I 
won't answer the .NET question here b/c I don't want to cause any IP 
issues with posting .NET internal information on a mono site.

On 05/21/2013 06:25 PM, Edward Ned Harvey (mono) wrote:
> Msdn says string.Equals() overrides the string == operator.
>
> Msdn also says it's an ordinal comparison, blah blah.
>
> The thing I'd like to know:  Ordinal string comparison tends to be an
> expensive thing to do.  This can be skipped under certain circumstances,
> such as, if ReferenceEquals returns true, or if the two string length's
> are different.
>
> Can anybody authoritatively say, under the hood, that .Net or mono
> actually do this sort of acceleration in the string.Equals() method?
>
> public static bool operator ==( string a, string b)
>
> {
>
>                  if ( Object.ReferenceEquals(a,b) )
>
>                                  return true;
>
>                  else
>
>                  {
>
>                                  if ( a.Length != b.Length )
>
>                                                  return false;
>
>                                  else
>
>                                  {
>
>                                                  for ( int i=0;
> i<a.Length ; i++ )
>
>                                                                  if (
> a[i] != b[i] )
>
>                                                                                  return false;
>
>                                                  return true;
>
>                                  }
>
>                  }
>
> }
>
>
>
> _______________________________________________
> Mono-list maillist  -  Mono-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-list
>


More information about the Mono-list mailing list