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
- HttpResponseMessageProperty.cs
- TextSegment.cs
- safesecurityhelperavalon.cs
- XmlTypeMapping.cs
- ReadOnlyKeyedCollection.cs
- Polygon.cs
- PostBackOptions.cs
- ActivityDesignerHelper.cs
- AdornerHitTestResult.cs
- InheritanceContextHelper.cs
- TableAutomationPeer.cs
- ValueUtilsSmi.cs
- StringConcat.cs
- DataGridViewCellLinkedList.cs
- WebConfigurationFileMap.cs
- AutomationEvent.cs
- FixedPage.cs
- CounterCreationData.cs
- TreeIterator.cs
- X509Utils.cs
- QueryStringParameter.cs
- Types.cs
- ThreadStateException.cs
- StoragePropertyMapping.cs
- BeginStoryboard.cs
- XmlDataSourceView.cs
- ResourceContainer.cs
- GridViewColumnCollection.cs
- basemetadatamappingvisitor.cs
- RSAPKCS1KeyExchangeFormatter.cs
- StringFunctions.cs
- ConfigXmlAttribute.cs
- DispatcherTimer.cs
- SymbolMethod.cs
- WindowsStatic.cs
- WarningException.cs
- GlobalizationSection.cs
- HtmlInputPassword.cs
- XamlToRtfWriter.cs
- HyperlinkAutomationPeer.cs
- InputGestureCollection.cs
- SourceElementsCollection.cs
- SimpleWebHandlerParser.cs
- XmlHelper.cs
- BinaryFormatter.cs
- DbConnectionPoolCounters.cs
- Subtract.cs
- SettingsPropertyNotFoundException.cs
- EditingMode.cs
- SamlDoNotCacheCondition.cs
- ReferenceEqualityComparer.cs
- Brush.cs
- NameSpaceExtractor.cs
- PageClientProxyGenerator.cs
- OutKeywords.cs
- DocumentPageView.cs
- DesignerSerializationOptionsAttribute.cs
- TemplateBuilder.cs
- SqlCachedBuffer.cs
- InfoCardTraceRecord.cs
- OutputCacheSection.cs
- Size3D.cs
- ColumnClickEvent.cs
- XamlTypeMapper.cs
- DataGridViewDesigner.cs
- LinkedResource.cs
- TabItemWrapperAutomationPeer.cs
- _SpnDictionary.cs
- TextParagraphProperties.cs
- StandardCommands.cs
- ZipIOBlockManager.cs
- PropertyIdentifier.cs
- AtomParser.cs
- InfoCardTrace.cs
- KnownBoxes.cs
- IItemContainerGenerator.cs
- DataColumnChangeEvent.cs
- SingleAnimation.cs
- AccessKeyManager.cs
- ExpressionBuilder.cs
- WeakHashtable.cs
- DesigntimeLicenseContextSerializer.cs
- FileStream.cs
- EditorZone.cs
- DrawingVisual.cs
- PageThemeCodeDomTreeGenerator.cs
- CodeGen.cs
- CodeTypeParameter.cs
- DataTableNewRowEvent.cs
- ValueExpressions.cs
- FrameworkElement.cs
- XmlSchemaAny.cs
- TextElementCollectionHelper.cs
- SQLInt64.cs
- AppDomainUnloadedException.cs
- EqualityComparer.cs
- InternalConfigEventArgs.cs
- BorderGapMaskConverter.cs
- SqlInfoMessageEvent.cs
- TreeNodeBindingCollection.cs