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
- EventHandlersStore.cs
- XmlObjectSerializerWriteContextComplex.cs
- Attributes.cs
- DrawingBrush.cs
- UIElement.cs
- Win32NamedPipes.cs
- Html32TextWriter.cs
- PageThemeBuildProvider.cs
- TypeDescriptionProviderAttribute.cs
- TableChangeProcessor.cs
- XmlILTrace.cs
- ClientRoleProvider.cs
- WmpBitmapEncoder.cs
- OrderByQueryOptionExpression.cs
- LoadRetryStrategyFactory.cs
- DerivedKeySecurityToken.cs
- MetadataFile.cs
- ReadOnlyDataSource.cs
- HttpHandlerActionCollection.cs
- PartialTrustValidationBehavior.cs
- WorkflowRuntimeService.cs
- KeyTime.cs
- Menu.cs
- ZoneMembershipCondition.cs
- XmlSchemaElement.cs
- HttpException.cs
- UnsafeNativeMethods.cs
- VScrollBar.cs
- EntryPointNotFoundException.cs
- designeractionbehavior.cs
- ImmutableCollection.cs
- TextServicesCompartment.cs
- DirectionalAction.cs
- ConnectionManagementElementCollection.cs
- BitVec.cs
- XmlSchemaParticle.cs
- CombinedHttpChannel.cs
- MemoryMappedFileSecurity.cs
- TiffBitmapEncoder.cs
- QilParameter.cs
- CryptoStream.cs
- ToolZone.cs
- ItemList.cs
- XmlSerializableWriter.cs
- GregorianCalendarHelper.cs
- CustomMenuItemCollection.cs
- JsonReader.cs
- PopupRootAutomationPeer.cs
- ObjectDataSourceView.cs
- TextEditorTables.cs
- FontInfo.cs
- ViewSimplifier.cs
- MultiTrigger.cs
- XmlUrlEditor.cs
- OrCondition.cs
- EnterpriseServicesHelper.cs
- PageMediaType.cs
- AddInIpcChannel.cs
- AssemblyInfo.cs
- PageBreakRecord.cs
- Module.cs
- TimestampInformation.cs
- IPAddress.cs
- WebResourceAttribute.cs
- DbProviderManifest.cs
- FormsAuthenticationTicket.cs
- FunctionImportElement.cs
- SymmetricKeyWrap.cs
- PipeStream.cs
- MarkupCompilePass1.cs
- AttachmentCollection.cs
- BinaryConverter.cs
- AssemblyCacheEntry.cs
- StaticTextPointer.cs
- ProcessModuleDesigner.cs
- StateDesigner.LayoutSelectionGlyph.cs
- XPathEmptyIterator.cs
- TextCollapsingProperties.cs
- AllMembershipCondition.cs
- TextFormatterImp.cs
- SQLString.cs
- DistributedTransactionPermission.cs
- CodeDomSerializerBase.cs
- TaskFileService.cs
- CounterSampleCalculator.cs
- XmlMapping.cs
- EmptyImpersonationContext.cs
- MetabaseSettings.cs
- Literal.cs
- MetafileHeader.cs
- FileLevelControlBuilderAttribute.cs
- WebPartMinimizeVerb.cs
- CompilerParameters.cs
- PageTheme.cs
- DeviceOverridableAttribute.cs
- SchemaImporterExtension.cs
- CodeTypeReference.cs
- TargetControlTypeAttribute.cs
- BoolExpressionVisitors.cs
- CustomBinding.cs