Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / clr / src / BCL / System / Collections / CaseInsensitiveHashCodeProvider.cs / 1 / CaseInsensitiveHashCodeProvider.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: CaseInsensitiveHashCodeProvider ** ** ** Purpose: Designed to support hashtables which require ** case-insensitive behavior while still maintaining case, ** this provides an efficient mechanism for getting the ** hashcode of the string ignoring case. ** ** ============================================================*/ namespace System.Collections { //This class does not contain members and does not need to be serializable using System; using System.Collections; using System.Globalization; [Serializable] [Obsolete("Please use StringComparer instead.")] [System.Runtime.InteropServices.ComVisible(true)] public class CaseInsensitiveHashCodeProvider : IHashCodeProvider { private TextInfo m_text; private static CaseInsensitiveHashCodeProvider m_InvariantCaseInsensitiveHashCodeProvider = null; public CaseInsensitiveHashCodeProvider() { m_text = CultureInfo.CurrentCulture.TextInfo; } public CaseInsensitiveHashCodeProvider(CultureInfo culture) { if (culture==null) { throw new ArgumentNullException("culture"); } m_text = culture.TextInfo; } public static CaseInsensitiveHashCodeProvider Default { get { return new CaseInsensitiveHashCodeProvider(CultureInfo.CurrentCulture); } } public static CaseInsensitiveHashCodeProvider DefaultInvariant { get { if (m_InvariantCaseInsensitiveHashCodeProvider == null) { m_InvariantCaseInsensitiveHashCodeProvider = new CaseInsensitiveHashCodeProvider(CultureInfo.InvariantCulture); } return m_InvariantCaseInsensitiveHashCodeProvider; } } public int GetHashCode(Object obj) { if (obj==null) { throw new ArgumentNullException("obj"); } String s = obj as String; if (s==null) { return obj.GetHashCode(); } return m_text.GetCaseInsensitiveHashCode(s); } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- dataprotectionpermission.cs
- SpellCheck.cs
- ModelItemCollection.cs
- BaseCodePageEncoding.cs
- DriveInfo.cs
- UInt64Storage.cs
- Expression.cs
- UpDownEvent.cs
- WebPartTracker.cs
- EntityContainerEmitter.cs
- TransactionChannelListener.cs
- Fault.cs
- PTUtility.cs
- AnimatedTypeHelpers.cs
- MetroSerializationManager.cs
- OdbcConnectionString.cs
- CounterSetInstance.cs
- SqlTypesSchemaImporter.cs
- NumberFunctions.cs
- SerializerWriterEventHandlers.cs
- SearchForVirtualItemEventArgs.cs
- IdnElement.cs
- ServerIdentity.cs
- SelectorItemAutomationPeer.cs
- TypeExtensionConverter.cs
- AssertFilter.cs
- Cursor.cs
- TranslateTransform.cs
- DataGrid.cs
- HandleValueEditor.cs
- TransformDescriptor.cs
- _ShellExpression.cs
- SqlConnectionManager.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- InternalConfigEventArgs.cs
- ArraySet.cs
- StyleTypedPropertyAttribute.cs
- MatrixCamera.cs
- SQLSingle.cs
- URLString.cs
- ExceptionUtility.cs
- PackagePartCollection.cs
- Utils.cs
- SecurityDescriptor.cs
- PeerServiceMessageContracts.cs
- DESCryptoServiceProvider.cs
- Scalars.cs
- ProfilePropertySettings.cs
- RealizationContext.cs
- IgnoreFileBuildProvider.cs
- FloatAverageAggregationOperator.cs
- InputGestureCollection.cs
- DomNameTable.cs
- IODescriptionAttribute.cs
- RowUpdatingEventArgs.cs
- SortAction.cs
- designeractionbehavior.cs
- ItemsControlAutomationPeer.cs
- ConfigurationManagerHelperFactory.cs
- StorageComplexTypeMapping.cs
- ServiceOperationWrapper.cs
- DrawTreeNodeEventArgs.cs
- ToolTip.cs
- StylusPointCollection.cs
- GregorianCalendar.cs
- PropertySegmentSerializationProvider.cs
- DbConnectionPoolGroupProviderInfo.cs
- ChangeBlockUndoRecord.cs
- OracleInfoMessageEventArgs.cs
- ExpressionBuilderContext.cs
- FormatterConverter.cs
- EnumValAlphaComparer.cs
- CompilerGeneratedAttribute.cs
- ComEventsInfo.cs
- AvTrace.cs
- SelectionItemPattern.cs
- WebServiceTypeData.cs
- ImageFormatConverter.cs
- ObjectAnimationUsingKeyFrames.cs
- InputLangChangeRequestEvent.cs
- WebPartExportVerb.cs
- ObjectFullSpanRewriter.cs
- OwnerDrawPropertyBag.cs
- Keyboard.cs
- XmlQueryTypeFactory.cs
- AppearanceEditorPart.cs
- clipboard.cs
- WorkflowValidationFailedException.cs
- HtmlShim.cs
- ObjectItemAttributeAssemblyLoader.cs
- PropertyStore.cs
- ResourcePermissionBase.cs
- connectionpool.cs
- ConnectionPoint.cs
- SqlNodeAnnotation.cs
- CommandSet.cs
- BooleanToVisibilityConverter.cs
- DbgCompiler.cs
- MulticastNotSupportedException.cs
- SystemIPv6InterfaceProperties.cs