Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Misc / CompatibleIComparer.cs / 1 / CompatibleIComparer.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * This class is used to create hashcodes that are Everett Compatible. * * Copyright (c) 2004 Microsoft Corporation */ namespace System.Collections.Specialized { using Microsoft.Win32; using System.Collections; using System.Runtime.Serialization; using System.Globalization; internal class BackCompatibleStringComparer : IEqualityComparer { static internal IEqualityComparer Default = new BackCompatibleStringComparer(); internal BackCompatibleStringComparer() { } //This comes from VS# 434837 and is specifically written to get backcompat public static int GetHashCode(string obj) { unsafe { fixed (char* src = obj) { int hash = 5381; int c; char* szStr = src; while ((c = *szStr) != 0) { hash = ((hash << 5) + hash) ^ c; ++szStr; } return hash; } } } bool IEqualityComparer.Equals(Object a, Object b) { return Object.Equals(a, b); } public virtual int GetHashCode(Object o) { String obj = o as string; if (obj == null) { return o.GetHashCode(); } return BackCompatibleStringComparer.GetHashCode(obj); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RoleService.cs
- ClientFormsIdentity.cs
- SubMenuStyle.cs
- MachineKeyConverter.cs
- SqlParameter.cs
- CodeArgumentReferenceExpression.cs
- ManifestResourceInfo.cs
- DataSourceGroupCollection.cs
- SoapObjectInfo.cs
- IndentTextWriter.cs
- SingleStorage.cs
- Polyline.cs
- JsonReaderDelegator.cs
- CallbackValidatorAttribute.cs
- HideDisabledControlAdapter.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- DataServiceQuery.cs
- WebServiceHostFactory.cs
- __ConsoleStream.cs
- DataControlHelper.cs
- AppDomainProtocolHandler.cs
- Int32Converter.cs
- ToolboxControl.cs
- NativeMethods.cs
- _LocalDataStore.cs
- AppDomainGrammarProxy.cs
- ResourcesBuildProvider.cs
- SmiGettersStream.cs
- BufferedGraphicsContext.cs
- WebPartConnectionsDisconnectVerb.cs
- SettingsProviderCollection.cs
- DecryptedHeader.cs
- SessionPageStatePersister.cs
- DbProviderFactories.cs
- ModelItemExtensions.cs
- DelegatedStream.cs
- InputScopeManager.cs
- _LocalDataStoreMgr.cs
- StateDesigner.cs
- DateTimeParse.cs
- StorageConditionPropertyMapping.cs
- DocumentApplication.cs
- WorkItem.cs
- IntellisenseTextBox.designer.cs
- XsdDateTime.cs
- ColorAnimation.cs
- FtpWebResponse.cs
- QilPatternVisitor.cs
- GacUtil.cs
- PersianCalendar.cs
- PointCollectionConverter.cs
- RequestStatusBarUpdateEventArgs.cs
- HitTestResult.cs
- ApplicationServicesHostFactory.cs
- DataSourceViewSchemaConverter.cs
- NamespaceList.cs
- UIElement3D.cs
- Knowncolors.cs
- CoTaskMemHandle.cs
- TablePattern.cs
- TaskFormBase.cs
- PathSegment.cs
- ControlUtil.cs
- TextEditorSpelling.cs
- PixelShader.cs
- ResourceIDHelper.cs
- MetaModel.cs
- BorderSidesEditor.cs
- GridViewColumnCollection.cs
- Form.cs
- EditorPartChrome.cs
- RepeaterItemCollection.cs
- loginstatus.cs
- SpeakProgressEventArgs.cs
- SafeLocalAllocation.cs
- LicenseManager.cs
- IList.cs
- XmlSchemaComplexType.cs
- ListBox.cs
- SrgsDocumentParser.cs
- DriveInfo.cs
- GeneralTransformCollection.cs
- ApplicationActivator.cs
- SqlCommandBuilder.cs
- Stack.cs
- FontNameEditor.cs
- safex509handles.cs
- TreeView.cs
- DataFormats.cs
- QuaternionAnimation.cs
- EntityContainerAssociationSet.cs
- DataGridHeaderBorder.cs
- MissingFieldException.cs
- SecurityUtils.cs
- IPPacketInformation.cs
- CursorConverter.cs
- PatternMatchRules.cs
- DataConnectionHelper.cs
- DBCSCodePageEncoding.cs
- LinqDataSourceHelper.cs