[Mono-dev] GetHashCode() implementation for class string

Jack eugeny.grishul at gmail.com
Sun Dec 7 17:38:25 EST 2008


You can use Java version of hash code that loos like:

		public static int JavaStringHashCode( string value )
		{
			int result = 0;

			foreach( char character in value )
				result = 31 * result + character;

			return result;
		}

Also you can look into Microsoft's BCL sources to find appropriate  
implementation.
WBR,
Eugeny Grishul

On Mon, 08 Dec 2008 01:47:43 +0300, Alan McGovern  
<alan.mcgovern at gmail.com> wrote:

> On Mon, Dec 1, 2008 at 9:44 PM, CarGa <carga at mail.ru> wrote:
>
>> Hello, all!
>>
>> I was directed here by Atsushi Eno from mono-olive list with this
>> question/request about GetHashCode() method.
>>
>> DependencyProperty class (that lays at the very base of entire WWF and  
>> WPF
>> libraries) heavily depends on quality of GetHashCode() method since we  
>> use
>> it to find any particular DependencyProperty in some huge  
>> Dictionary<int,
>> DependencyProperty> of others.
>>
>
> If i understand correctly, you're using the hashcode fo a DP as a unique
> identifier. This is wrong. Hashcodes are by definition *not* a unique
> identifer and should not be used as such. You're completly misusing the
> hashcode in this case. Your code will never run correctly if you are  
> using
> .GetHashCode() to supply the 'int' in Dictionary<int, DependencyProperty>
>
> Alan.



-- 
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/


More information about the Mono-devel-list mailing list