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
- FlowThrottle.cs
- Transform3DCollection.cs
- FloaterBaseParagraph.cs
- SettingsSection.cs
- SiteMembershipCondition.cs
- SrgsElementList.cs
- TemporaryBitmapFile.cs
- ExpressionLexer.cs
- _TransmitFileOverlappedAsyncResult.cs
- PerformanceCountersElement.cs
- Splitter.cs
- Operand.cs
- MsmqIntegrationInputMessage.cs
- FontInfo.cs
- ACE.cs
- StrongNameUtility.cs
- MsmqChannelFactoryBase.cs
- SpeechAudioFormatInfo.cs
- DoubleConverter.cs
- propertytag.cs
- KeyValuePairs.cs
- PermissionListSet.cs
- ConsumerConnectionPointCollection.cs
- MultipleViewPattern.cs
- HttpListener.cs
- FontFaceLayoutInfo.cs
- RelationalExpressions.cs
- CommandPlan.cs
- ProxyElement.cs
- TextLineResult.cs
- DataSourceCollectionBase.cs
- ToolStripPanelRow.cs
- PersonalizableAttribute.cs
- QilInvoke.cs
- InkCanvasInnerCanvas.cs
- _WinHttpWebProxyDataBuilder.cs
- SQLBinary.cs
- CurrentChangingEventManager.cs
- MetadataCacheItem.cs
- EventManager.cs
- CodeAttributeDeclaration.cs
- QuestionEventArgs.cs
- UTF32Encoding.cs
- NumberSubstitution.cs
- HostingEnvironmentSection.cs
- EventPrivateKey.cs
- MenuItemAutomationPeer.cs
- SequenceDesigner.cs
- DataRowView.cs
- ReachVisualSerializer.cs
- InvalidProgramException.cs
- ActivityExecutorSurrogate.cs
- GenericWebPart.cs
- ToolStripItemCollection.cs
- CqlWriter.cs
- WizardStepBase.cs
- EntityDataSourceDesignerHelper.cs
- TextEffect.cs
- SecUtil.cs
- SubMenuStyle.cs
- PenCursorManager.cs
- ServiceMemoryGates.cs
- QuinticEase.cs
- EdmSchemaError.cs
- PnrpPermission.cs
- DispatcherExceptionFilterEventArgs.cs
- CompilationSection.cs
- ConnectionsZoneDesigner.cs
- TableRow.cs
- VarRemapper.cs
- TextProperties.cs
- PageBreakRecord.cs
- TemplateControlParser.cs
- DelayLoadType.cs
- ResourceKey.cs
- TextWriter.cs
- smtppermission.cs
- GridViewHeaderRowPresenter.cs
- EntityParameter.cs
- SecurityDescriptor.cs
- Fx.cs
- SafeEventLogWriteHandle.cs
- ScriptReference.cs
- HttpCapabilitiesBase.cs
- CodeAttributeDeclarationCollection.cs
- RotateTransform3D.cs
- EntityFunctions.cs
- BinaryReader.cs
- BinHexDecoder.cs
- OleDbDataAdapter.cs
- StylusButtonEventArgs.cs
- QueryContinueDragEventArgs.cs
- PackUriHelper.cs
- PeerOutputChannel.cs
- SeverityFilter.cs
- OperatingSystem.cs
- shaperfactory.cs
- KeyPressEvent.cs
- ControlPropertyNameConverter.cs
- Model3D.cs