Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Base / MS / Internal / IO / Packaging / CaseInsensitiveOrdinalStringComparer.cs / 1 / 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: younggk: 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: younggk: 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
- ColumnWidthChangedEvent.cs
- IPipelineRuntime.cs
- TextTabProperties.cs
- ContextMenuService.cs
- MruCache.cs
- PointAnimationUsingPath.cs
- Attributes.cs
- WinCategoryAttribute.cs
- Image.cs
- StringFreezingAttribute.cs
- ValidationSummary.cs
- SecurityUtils.cs
- SettingsAttributeDictionary.cs
- Scalars.cs
- AttachedAnnotation.cs
- BindingElementCollection.cs
- X509Certificate.cs
- SqlWebEventProvider.cs
- PageThemeCodeDomTreeGenerator.cs
- Memoizer.cs
- ImageListUtils.cs
- Utils.cs
- DefaultSerializationProviderAttribute.cs
- BlobPersonalizationState.cs
- SecurityCriticalDataForSet.cs
- CompositeFontParser.cs
- TileModeValidation.cs
- NavigationExpr.cs
- DataGridColumnHeaderAutomationPeer.cs
- GcHandle.cs
- ProjectedSlot.cs
- CurrencyWrapper.cs
- baseaxisquery.cs
- ZoomingMessageFilter.cs
- AuthorizationRuleCollection.cs
- ProfileSettingsCollection.cs
- SHA1CryptoServiceProvider.cs
- OpacityConverter.cs
- filewebresponse.cs
- ToolStripOverflow.cs
- PropertyGridEditorPart.cs
- SudsWriter.cs
- TextEditorLists.cs
- ActiveXSite.cs
- DependencyPropertyAttribute.cs
- CheckoutException.cs
- StartUpEventArgs.cs
- OleDbSchemaGuid.cs
- KeyboardNavigation.cs
- HMACSHA1.cs
- CompositeControlDesigner.cs
- NamespaceCollection.cs
- OutputScope.cs
- _ListenerAsyncResult.cs
- XamlTreeBuilder.cs
- MembershipPasswordException.cs
- Ticks.cs
- CheckBoxPopupAdapter.cs
- ConstantExpression.cs
- RequestStatusBarUpdateEventArgs.cs
- FileRecordSequenceHelper.cs
- WindowsPen.cs
- XsdValidatingReader.cs
- ComponentSerializationService.cs
- ProcessHostMapPath.cs
- SchemaElementLookUpTable.cs
- TextEditor.cs
- BaseUriHelper.cs
- File.cs
- SoapDocumentServiceAttribute.cs
- AddInServer.cs
- ActivityDesignerHelper.cs
- XmlnsCompatibleWithAttribute.cs
- SchemaImporter.cs
- XmlChildNodes.cs
- DrawingContextDrawingContextWalker.cs
- GlyphShapingProperties.cs
- DataServiceProcessingPipelineEventArgs.cs
- OdbcHandle.cs
- ByteAnimation.cs
- ButtonStandardAdapter.cs
- Span.cs
- ErrorsHelper.cs
- PerformanceCounterLib.cs
- AuthenticationServiceManager.cs
- ToolboxItemAttribute.cs
- ReferenceSchema.cs
- PathTooLongException.cs
- DataGridViewMethods.cs
- KeyValueSerializer.cs
- CodeIndexerExpression.cs
- RootBuilder.cs
- InkSerializer.cs
- SimpleBitVector32.cs
- BitmapEffectOutputConnector.cs
- DateTimeConverter.cs
- XPathNavigatorReader.cs
- AppSettingsExpressionBuilder.cs
- CompatibleComparer.cs
- SqlBulkCopy.cs