Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Base / MS / Internal / IO / Packaging / CaseInsensitiveOrdinalStringComparer.cs / 1305600 / CaseInsensitiveOrdinalStringComparer.cs
//------------------------------------------------------------------------------ // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: // Common container-related operations that can be shared among internal // components. // // History: // 02/17/2006: [....]: Creation // //----------------------------------------------------------------------------- using System; using System.Collections; // for IEqualityComparer using MS.Internal; // for Invariant.Assert namespace MS.Internal.IO.Packaging { ////// IEqualityComparer implementation for case insensistive ordinal strings /// internal class CaseInsensitiveOrdinalStringComparer : IEqualityComparer, IComparer { // Performs Case Insensitive Ordinal String Comparison. bool IEqualityComparer.Equals(Object x, Object y) { Invariant.Assert((x is String) && (y is String)); return (String.CompareOrdinal(((String) x).ToUpperInvariant(), ((String) y).ToUpperInvariant()) == 0); } int IComparer.Compare(Object x, Object y) { Invariant.Assert((x is String) && (y is String)); return String.CompareOrdinal(((String) x).ToUpperInvariant(), ((String) y).ToUpperInvariant()); } // Hash on object identity. int IEqualityComparer.GetHashCode(Object str) { Invariant.Assert(str is String); return ((String) str).ToUpperInvariant().GetHashCode(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------------------------ // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: // Common container-related operations that can be shared among internal // components. // // History: // 02/17/2006: [....]: Creation // //----------------------------------------------------------------------------- using System; using System.Collections; // for IEqualityComparer using MS.Internal; // for Invariant.Assert namespace MS.Internal.IO.Packaging { ////// IEqualityComparer implementation for case insensistive ordinal strings /// internal class CaseInsensitiveOrdinalStringComparer : IEqualityComparer, IComparer { // Performs Case Insensitive Ordinal String Comparison. bool IEqualityComparer.Equals(Object x, Object y) { Invariant.Assert((x is String) && (y is String)); return (String.CompareOrdinal(((String) x).ToUpperInvariant(), ((String) y).ToUpperInvariant()) == 0); } int IComparer.Compare(Object x, Object y) { Invariant.Assert((x is String) && (y is String)); return String.CompareOrdinal(((String) x).ToUpperInvariant(), ((String) y).ToUpperInvariant()); } // Hash on object identity. int IEqualityComparer.GetHashCode(Object str) { Invariant.Assert(str is String); return ((String) str).ToUpperInvariant().GetHashCode(); } } } // 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
- DesignerCategoryAttribute.cs
- DoneReceivingAsyncResult.cs
- AnimationTimeline.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- SHA1Managed.cs
- GenericRootAutomationPeer.cs
- ProvideValueServiceProvider.cs
- RowToParametersTransformer.cs
- OleDbEnumerator.cs
- XmlStreamStore.cs
- OdbcRowUpdatingEvent.cs
- StringAnimationBase.cs
- RelativeSource.cs
- PartialCachingAttribute.cs
- HostingEnvironmentException.cs
- AssemblyNameProxy.cs
- Timer.cs
- ListViewItem.cs
- SQLUtility.cs
- TextEditorCharacters.cs
- HostProtectionPermission.cs
- GroupQuery.cs
- IPCCacheManager.cs
- HistoryEventArgs.cs
- AppDomainFactory.cs
- LocatorGroup.cs
- TextProviderWrapper.cs
- DecimalAnimation.cs
- CopyCodeAction.cs
- TreeNodeSelectionProcessor.cs
- FreezableCollection.cs
- PrintingPermission.cs
- SymbolTable.cs
- DataBoundLiteralControl.cs
- TextClipboardData.cs
- HuffCodec.cs
- NameValueConfigurationCollection.cs
- NativeMethodsOther.cs
- RelatedCurrencyManager.cs
- Compiler.cs
- OdbcDataAdapter.cs
- _CookieModule.cs
- HtmlFormAdapter.cs
- _DynamicWinsockMethods.cs
- ModelPropertyImpl.cs
- PropertyMappingExceptionEventArgs.cs
- EventWaitHandleSecurity.cs
- EntityContainerEmitter.cs
- DataSourceSelectArguments.cs
- TrustManagerPromptUI.cs
- ObjectItemCollection.cs
- WorkflowService.cs
- GroupDescription.cs
- EntityType.cs
- ZipIOCentralDirectoryBlock.cs
- ITreeGenerator.cs
- InkPresenter.cs
- CloseCollectionAsyncResult.cs
- XmlSerializerAssemblyAttribute.cs
- Point3DCollection.cs
- Vector3dCollection.cs
- LinkUtilities.cs
- CacheMode.cs
- XmlDictionaryReader.cs
- UpdatePanelTriggerCollection.cs
- ScrollItemPattern.cs
- CodeEventReferenceExpression.cs
- DEREncoding.cs
- x509utils.cs
- NativeMethods.cs
- Funcletizer.cs
- SettingsBase.cs
- SystemColors.cs
- HitTestResult.cs
- SingleTagSectionHandler.cs
- _HeaderInfo.cs
- CallContext.cs
- Validator.cs
- CounterCreationDataConverter.cs
- DNS.cs
- IPGlobalProperties.cs
- UshortList2.cs
- Util.cs
- DragCompletedEventArgs.cs
- ObjectStateManagerMetadata.cs
- DirectoryInfo.cs
- IdnMapping.cs
- SafeEventLogWriteHandle.cs
- ByteFacetDescriptionElement.cs
- GCHandleCookieTable.cs
- TdsParserSessionPool.cs
- FileDialogPermission.cs
- ImageAttributes.cs
- TableLayoutSettings.cs
- TypeAccessException.cs
- SequenceDesigner.cs
- ToolboxItem.cs
- RC2.cs
- TaskFileService.cs
- GeneralTransformCollection.cs