Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- sqlstateclientmanager.cs
- DataControlExtensions.cs
- VirtualPath.cs
- FormViewPagerRow.cs
- SerialErrors.cs
- ManagedCodeMarkers.cs
- QuaternionConverter.cs
- RectangleGeometry.cs
- RegexFCD.cs
- InputScope.cs
- QueryableDataSourceEditData.cs
- ElementHost.cs
- SizeLimitedCache.cs
- EncodedStreamFactory.cs
- WmfPlaceableFileHeader.cs
- DataGrid.cs
- ClientApiGenerator.cs
- ResumeStoryboard.cs
- HostSecurityManager.cs
- MobileFormsAuthentication.cs
- RuleSetDialog.Designer.cs
- AffineTransform3D.cs
- SpecialNameAttribute.cs
- ListDataBindEventArgs.cs
- SafeNativeMethods.cs
- PnrpPeerResolverBindingElement.cs
- SizeValueSerializer.cs
- UInt64Converter.cs
- LinkClickEvent.cs
- Hash.cs
- StrokeNodeData.cs
- AspNetSynchronizationContext.cs
- WpfWebRequestHelper.cs
- HttpPostedFile.cs
- ProxyWebPart.cs
- BinaryUtilClasses.cs
- Error.cs
- ReservationCollection.cs
- ModelItemImpl.cs
- CapabilitiesState.cs
- InputBinder.cs
- TextStore.cs
- CodeNamespace.cs
- ObjectView.cs
- EnumValAlphaComparer.cs
- BindableAttribute.cs
- IProducerConsumerCollection.cs
- XmlAttributeAttribute.cs
- ConfigurationElementCollection.cs
- ContentControl.cs
- CacheAxisQuery.cs
- StringWriter.cs
- KnowledgeBase.cs
- XmlValidatingReaderImpl.cs
- ConfigurationStrings.cs
- SingleAnimation.cs
- BitmapEffectvisualstate.cs
- TextTreeRootNode.cs
- SecurityResources.cs
- ControlParser.cs
- JournalNavigationScope.cs
- DebugHandleTracker.cs
- Lease.cs
- Suspend.cs
- ComboBox.cs
- Ops.cs
- ServiceInstallComponent.cs
- KeyInfo.cs
- XmlSerializer.cs
- HMACSHA512.cs
- GetResponse.cs
- COM2EnumConverter.cs
- OdbcException.cs
- AnnotationStore.cs
- UnsafeNativeMethods.cs
- SystemColors.cs
- Point3DAnimationUsingKeyFrames.cs
- Menu.cs
- CopyNodeSetAction.cs
- DocumentXmlWriter.cs
- DbgUtil.cs
- KeyEventArgs.cs
- XhtmlTextWriter.cs
- XamlTreeBuilderBamlRecordWriter.cs
- SmiEventSink.cs
- SqlDependencyUtils.cs
- TextCompositionEventArgs.cs
- WebPartEditorApplyVerb.cs
- EntityDataReader.cs
- UnsafeNativeMethods.cs
- TableCell.cs
- SoapTypeAttribute.cs
- ColumnMapTranslator.cs
- TableLayoutStyleCollection.cs
- SocketException.cs
- Activity.cs
- DeviceContexts.cs
- DispatcherOperation.cs
- RoleGroup.cs
- TreeIterator.cs