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
- StylusLogic.cs
- CalendarTable.cs
- KerberosRequestorSecurityTokenAuthenticator.cs
- ToolStripOverflowButton.cs
- Vector3DConverter.cs
- FontFamily.cs
- IsolationInterop.cs
- Int16Storage.cs
- CompiledXpathExpr.cs
- SoapSchemaExporter.cs
- DocumentPageHost.cs
- WebPartEditorApplyVerb.cs
- GroupBox.cs
- DataTemplateSelector.cs
- CancelEventArgs.cs
- MessageLogger.cs
- DocumentPaginator.cs
- BCryptHashAlgorithm.cs
- BuiltInPermissionSets.cs
- ScriptControlDescriptor.cs
- Vector3DAnimation.cs
- Pair.cs
- FieldDescriptor.cs
- InvariantComparer.cs
- CodeGeneratorOptions.cs
- DbException.cs
- SafeUserTokenHandle.cs
- ContentPlaceHolder.cs
- NetworkInterface.cs
- Process.cs
- SqlDataSourceStatusEventArgs.cs
- StrongNameUtility.cs
- PreProcessor.cs
- WebPartMovingEventArgs.cs
- CSharpCodeProvider.cs
- ProxyAttribute.cs
- LightweightEntityWrapper.cs
- ComponentChangedEvent.cs
- QilBinary.cs
- ChannelManager.cs
- OpenTypeLayoutCache.cs
- GC.cs
- ChannelToken.cs
- Internal.cs
- QuaternionAnimationBase.cs
- FormViewDeletedEventArgs.cs
- ToolConsole.cs
- TextTreeTextElementNode.cs
- TagNameToTypeMapper.cs
- CharEnumerator.cs
- CapabilitiesUse.cs
- AssemblyContextControlItem.cs
- ThrowHelper.cs
- DataGridViewUtilities.cs
- SplitterPanelDesigner.cs
- ResourceContainer.cs
- ExcludePathInfo.cs
- RemotingHelper.cs
- DbReferenceCollection.cs
- Int64Storage.cs
- Image.cs
- DataGridViewAutoSizeModeEventArgs.cs
- ImageDrawing.cs
- PropertyCondition.cs
- DesignerCapabilities.cs
- NavigationWindow.cs
- WorkflowRequestContext.cs
- ellipse.cs
- TreeViewDesigner.cs
- DesignerSerializationOptionsAttribute.cs
- BamlLocalizationDictionary.cs
- BaseInfoTable.cs
- DrawingContextWalker.cs
- DataReaderContainer.cs
- AmbientProperties.cs
- InvalidCastException.cs
- DataBindingCollectionEditor.cs
- SlotInfo.cs
- XmlILAnnotation.cs
- Buffer.cs
- PageContent.cs
- LinqDataSourceDeleteEventArgs.cs
- QueryStringConverter.cs
- ITextView.cs
- RichTextBox.cs
- ObjectAnimationUsingKeyFrames.cs
- WindowsGraphics2.cs
- JournalNavigationScope.cs
- SQLInt64Storage.cs
- XmlDataFileEditor.cs
- BatchWriter.cs
- WSSecurityOneDotZeroSendSecurityHeader.cs
- MetabaseServerConfig.cs
- HtmlEmptyTagControlBuilder.cs
- ListSourceHelper.cs
- AutomationElementIdentifiers.cs
- SamlAssertionDirectKeyIdentifierClause.cs
- RangeValidator.cs
- CompilationUnit.cs
- StickyNote.cs