Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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); } } } // 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
- SpellerStatusTable.cs
- Int64KeyFrameCollection.cs
- TextEffect.cs
- ParseChildrenAsPropertiesAttribute.cs
- XmlSchemaObjectTable.cs
- SystemIPv4InterfaceProperties.cs
- Random.cs
- WindowCollection.cs
- FontUnit.cs
- Page.cs
- XmlCharCheckingReader.cs
- Root.cs
- HtmlInputRadioButton.cs
- ProviderSettingsCollection.cs
- PhonemeConverter.cs
- DataControlFieldCollection.cs
- AttributeSetAction.cs
- AssemblyNameProxy.cs
- RijndaelManaged.cs
- StructuralCache.cs
- SqlGenericUtil.cs
- ReflectTypeDescriptionProvider.cs
- FixedPage.cs
- WebPartTransformer.cs
- SerializationStore.cs
- MediaPlayer.cs
- InstanceDescriptor.cs
- ConnectionInterfaceCollection.cs
- MatcherBuilder.cs
- TextTreeDeleteContentUndoUnit.cs
- ProcessDesigner.cs
- complextypematerializer.cs
- BaseComponentEditor.cs
- XmlDataSource.cs
- ThaiBuddhistCalendar.cs
- RawKeyboardInputReport.cs
- EncoderParameter.cs
- TrackingDataItem.cs
- PassportAuthentication.cs
- TcpProcessProtocolHandler.cs
- XmlDataImplementation.cs
- References.cs
- SiteMembershipCondition.cs
- XmlSchemaSimpleTypeList.cs
- ClientBuildManagerCallback.cs
- XmlProcessingInstruction.cs
- ListContractAdapter.cs
- EventManager.cs
- ValidationHelper.cs
- DataTablePropertyDescriptor.cs
- EntityStoreSchemaFilterEntry.cs
- TextDecorationCollection.cs
- RepeatButtonAutomationPeer.cs
- DataTableMappingCollection.cs
- IntSecurity.cs
- XmlEncodedRawTextWriter.cs
- FixedSOMGroup.cs
- DiagnosticsConfigurationHandler.cs
- TypeContext.cs
- CodeAttributeDeclaration.cs
- DigestTraceRecordHelper.cs
- TdsParserStaticMethods.cs
- FigureParaClient.cs
- SystemIcons.cs
- ObjectMemberMapping.cs
- EdmProperty.cs
- TypeGeneratedEventArgs.cs
- ColorContextHelper.cs
- IndexOutOfRangeException.cs
- HtmlHistory.cs
- EditingCommands.cs
- TextTreeInsertElementUndoUnit.cs
- DataObjectMethodAttribute.cs
- TableItemStyle.cs
- LinqExpressionNormalizer.cs
- XmlNodeList.cs
- DBConcurrencyException.cs
- BypassElementCollection.cs
- PeerDuplexChannelListener.cs
- FontWeights.cs
- ArglessEventHandlerProxy.cs
- DrawingServices.cs
- Transform3DGroup.cs
- BindingMemberInfo.cs
- ResourcePermissionBase.cs
- __ComObject.cs
- XsltOutput.cs
- WebBrowserNavigatedEventHandler.cs
- AddInProcess.cs
- OdbcConnectionString.cs
- XmlResolver.cs
- JavaScriptString.cs
- TreeWalkHelper.cs
- DocumentPageHost.cs
- DataGridBoundColumn.cs
- TrackBarRenderer.cs
- CommandHelper.cs
- CommandField.cs
- WindowsToolbarAsMenu.cs
- _Events.cs