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
- StrokeNodeData.cs
- DataGrid.cs
- GeneralTransform2DTo3D.cs
- RedBlackList.cs
- TimersDescriptionAttribute.cs
- Queue.cs
- ModulesEntry.cs
- SqlUtils.cs
- ImageListImage.cs
- TextSimpleMarkerProperties.cs
- TokenBasedSetEnumerator.cs
- XmlAttributes.cs
- CachedBitmap.cs
- PrintDialogException.cs
- ListViewItem.cs
- MsmqNonTransactedPoisonHandler.cs
- FieldMetadata.cs
- Debug.cs
- SafeUserTokenHandle.cs
- WizardForm.cs
- Win32SafeHandles.cs
- PrintingPermissionAttribute.cs
- DataStreamFromComStream.cs
- RefreshEventArgs.cs
- SeekStoryboard.cs
- webeventbuffer.cs
- ResXResourceSet.cs
- CodeTypeOfExpression.cs
- Container.cs
- MenuTracker.cs
- TagPrefixInfo.cs
- EntityDataSourceConfigureObjectContextPanel.cs
- SecurityTraceRecordHelper.cs
- SecurityChannelFactory.cs
- MsmqBindingElementBase.cs
- Math.cs
- DataBindingsDialog.cs
- GridErrorDlg.cs
- XamlFigureLengthSerializer.cs
- MetadataFile.cs
- PanningMessageFilter.cs
- NameValuePair.cs
- X500Name.cs
- XamlSerializer.cs
- XmlName.cs
- SerializationFieldInfo.cs
- MsmqPoisonMessageException.cs
- BinaryObjectInfo.cs
- XmlHierarchyData.cs
- ContainsRowNumberChecker.cs
- CollectionBase.cs
- GlyphsSerializer.cs
- CachingHintValidation.cs
- CellConstantDomain.cs
- QilExpression.cs
- MatrixUtil.cs
- WebPartConnectionsDisconnectVerb.cs
- LinqToSqlWrapper.cs
- TextContainerChangeEventArgs.cs
- SchemaEntity.cs
- XmlSignificantWhitespace.cs
- DayRenderEvent.cs
- DesignerSerializerAttribute.cs
- RequestCache.cs
- CodeSubDirectoriesCollection.cs
- MultiAsyncResult.cs
- QuotedPairReader.cs
- ZipIORawDataFileBlock.cs
- DecimalKeyFrameCollection.cs
- SchemaImporter.cs
- ZoomingMessageFilter.cs
- WsiProfilesElement.cs
- MarginsConverter.cs
- ElementNotAvailableException.cs
- FunctionDescription.cs
- QuaternionAnimation.cs
- EntityContainerEntitySetDefiningQuery.cs
- __Filters.cs
- EventLogPermissionAttribute.cs
- AssemblyInfo.cs
- UnsafeNetInfoNativeMethods.cs
- SerializationEventsCache.cs
- Rotation3D.cs
- EntityDataSourceWrapperCollection.cs
- BitmapDownload.cs
- UnmanagedMarshal.cs
- SoapEnumAttribute.cs
- Assembly.cs
- ZeroOpNode.cs
- ChildTable.cs
- ResourceWriter.cs
- ExtenderControl.cs
- ListViewItemMouseHoverEvent.cs
- AddingNewEventArgs.cs
- TopClause.cs
- TextParaLineResult.cs
- Point4DValueSerializer.cs
- TableCellCollection.cs
- DataMisalignedException.cs
- CachedRequestParams.cs