Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- Set.cs
- ScaleTransform.cs
- ClockController.cs
- LockedAssemblyCache.cs
- SecurityUtils.cs
- OleDbReferenceCollection.cs
- WindowsSysHeader.cs
- ListViewGroupItemCollection.cs
- KnownColorTable.cs
- TimeIntervalCollection.cs
- StatusBarPanelClickEvent.cs
- BindingCollectionElement.cs
- Config.cs
- RewritingPass.cs
- IdentityHolder.cs
- WindowsListView.cs
- GraphicsPath.cs
- AnnouncementSendsAsyncResult.cs
- FileClassifier.cs
- columnmapfactory.cs
- Brushes.cs
- VariantWrapper.cs
- DiffuseMaterial.cs
- Line.cs
- OleDbMetaDataFactory.cs
- DataSourceExpression.cs
- ServiceInfo.cs
- MailMessageEventArgs.cs
- RawStylusActions.cs
- ConfigXmlAttribute.cs
- PeerNodeTraceRecord.cs
- WpfKnownTypeInvoker.cs
- EncryptionUtility.cs
- ToolConsole.cs
- TypeElement.cs
- TemplateColumn.cs
- SectionInformation.cs
- Line.cs
- UdpDuplexChannel.cs
- TargetControlTypeAttribute.cs
- ColorAnimationBase.cs
- Model3DCollection.cs
- SqlFunctions.cs
- ConnectionManagementElementCollection.cs
- ApplicationFileCodeDomTreeGenerator.cs
- ListItem.cs
- ContentIterators.cs
- PaperSize.cs
- SafeArrayTypeMismatchException.cs
- ScriptingJsonSerializationSection.cs
- BamlVersionHeader.cs
- XmlSchemaComplexContentRestriction.cs
- XmlEntity.cs
- SqlParameterCollection.cs
- XPathDescendantIterator.cs
- ClientSettingsProvider.cs
- StoreAnnotationsMap.cs
- PaginationProgressEventArgs.cs
- UpdateProgress.cs
- IPCCacheManager.cs
- RC2.cs
- PriorityQueue.cs
- ByteBufferPool.cs
- InputBindingCollection.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- Registry.cs
- CompositeDuplexBindingElementImporter.cs
- RandomDelaySendsAsyncResult.cs
- DataTemplate.cs
- HandleRef.cs
- WindowsListViewItem.cs
- SpellerError.cs
- JsonFormatGeneratorStatics.cs
- PerformanceCounterScope.cs
- TimeSpanOrInfiniteValidator.cs
- PanelStyle.cs
- TextTrailingWordEllipsis.cs
- SqlAliasesReferenced.cs
- PassportAuthenticationModule.cs
- XamlFxTrace.cs
- HttpProxyTransportBindingElement.cs
- WhitespaceRuleLookup.cs
- EntityTypeEmitter.cs
- WSSecurityOneDotZeroReceiveSecurityHeader.cs
- GetWinFXPath.cs
- UInt32Storage.cs
- CurrentChangingEventArgs.cs
- DataGrid.cs
- KerberosRequestorSecurityToken.cs
- EncryptedPackageFilter.cs
- InlineUIContainer.cs
- PointHitTestResult.cs
- HierarchicalDataBoundControlAdapter.cs
- XmlAttributes.cs
- WindowsListViewSubItem.cs
- EntityParameterCollection.cs
- _emptywebproxy.cs
- Image.cs
- Imaging.cs
- TreeNodeCollection.cs