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
- NativeWindow.cs
- OneToOneMappingSerializer.cs
- DiscoveryReferences.cs
- ArgumentDesigner.xaml.cs
- EffectiveValueEntry.cs
- XamlStyleSerializer.cs
- AncestorChangedEventArgs.cs
- SpecularMaterial.cs
- SpinWait.cs
- XpsColorContext.cs
- ResourceDefaultValueAttribute.cs
- SafeFileMappingHandle.cs
- QuestionEventArgs.cs
- ColorInterpolationModeValidation.cs
- ToolBar.cs
- DoubleCollection.cs
- FileIOPermission.cs
- RegexCapture.cs
- SQLMembershipProvider.cs
- QilScopedVisitor.cs
- Vector3DIndependentAnimationStorage.cs
- ComponentCodeDomSerializer.cs
- PolyQuadraticBezierSegment.cs
- DownloadProgressEventArgs.cs
- HttpHeaderCollection.cs
- ServicePointManager.cs
- DataGridViewLinkColumn.cs
- DispatcherExceptionFilterEventArgs.cs
- diagnosticsswitches.cs
- QuaternionAnimation.cs
- OLEDB_Util.cs
- SkipQueryOptionExpression.cs
- ListenerElementsCollection.cs
- GenericsInstances.cs
- SystemWebExtensionsSectionGroup.cs
- DebugTrace.cs
- CustomAttributeBuilder.cs
- AuditLogLocation.cs
- ListControlBoundActionList.cs
- BaseTemplateBuildProvider.cs
- AQNBuilder.cs
- BinaryCommonClasses.cs
- BinHexDecoder.cs
- SecurityKeyEntropyMode.cs
- DesignTimeHTMLTextWriter.cs
- TcpHostedTransportConfiguration.cs
- InputGestureCollection.cs
- BufferModesCollection.cs
- StringExpressionSet.cs
- CodeMethodInvokeExpression.cs
- ChangeDirector.cs
- ConfigXmlAttribute.cs
- HttpCookieCollection.cs
- Char.cs
- PasswordBox.cs
- SchemaSetCompiler.cs
- DataBindingCollection.cs
- TrackingRecordPreFilter.cs
- StreamUpdate.cs
- SrgsSemanticInterpretationTag.cs
- DropDownButton.cs
- TreeNodeMouseHoverEvent.cs
- RegistryDataKey.cs
- StrongNameHelpers.cs
- MaterialGroup.cs
- coordinatorfactory.cs
- InputProcessorProfiles.cs
- LoginAutoFormat.cs
- RenderCapability.cs
- BindingList.cs
- TransformerInfoCollection.cs
- Misc.cs
- FormatConvertedBitmap.cs
- HtmlUtf8RawTextWriter.cs
- CacheHelper.cs
- XmlByteStreamWriter.cs
- followingquery.cs
- CompiledQuery.cs
- LayoutSettings.cs
- BuilderInfo.cs
- SecurityUtils.cs
- ItemChangedEventArgs.cs
- ComponentChangedEvent.cs
- UIServiceHelper.cs
- CommandEventArgs.cs
- RectAnimationUsingKeyFrames.cs
- BindingListCollectionView.cs
- X509Certificate2Collection.cs
- DataSpaceManager.cs
- LogWriteRestartAreaState.cs
- WebConfigManager.cs
- PlanCompiler.cs
- DataGridViewDataConnection.cs
- Completion.cs
- ElementNotEnabledException.cs
- CmsInterop.cs
- UnSafeCharBuffer.cs
- NamespaceQuery.cs
- RichTextBox.cs
- ColumnMap.cs