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
- HttpProfileGroupBase.cs
- PermissionListSet.cs
- EventLogEntryCollection.cs
- ReadOnlyCollectionBase.cs
- SchemaComplexType.cs
- DataList.cs
- TextFormatter.cs
- CompatibleIComparer.cs
- FontStyleConverter.cs
- CollectionContainer.cs
- _BufferOffsetSize.cs
- EntityDataSourceUtil.cs
- EnumUnknown.cs
- Utils.cs
- CommonRemoteMemoryBlock.cs
- ObjectResult.cs
- StringComparer.cs
- DataControlReference.cs
- WmlValidatorAdapter.cs
- StorageMappingItemLoader.cs
- TimerEventSubscription.cs
- Material.cs
- IdentifierService.cs
- ToolboxSnapDragDropEventArgs.cs
- InvalidAsynchronousStateException.cs
- Stroke.cs
- ServiceReference.cs
- FontInfo.cs
- CodeLinePragma.cs
- StylusPointPropertyInfo.cs
- SortQuery.cs
- FixedLineResult.cs
- DynamicILGenerator.cs
- DataGridViewImageColumn.cs
- ChannelBuilder.cs
- shaper.cs
- MediaPlayer.cs
- SizeConverter.cs
- WindowsFormsHost.cs
- TypeHelper.cs
- Touch.cs
- SqlCommandBuilder.cs
- CodeNamespaceCollection.cs
- WebPartTransformerCollection.cs
- xmlformatgeneratorstatics.cs
- LayoutEngine.cs
- NotImplementedException.cs
- SQLRoleProvider.cs
- PeerApplication.cs
- EdmComplexPropertyAttribute.cs
- CaseStatement.cs
- XmlChoiceIdentifierAttribute.cs
- WorkflowFileItem.cs
- JsonReader.cs
- basecomparevalidator.cs
- DetailsViewPagerRow.cs
- _RequestCacheProtocol.cs
- ConcurrentBag.cs
- StateRuntime.cs
- EventRoute.cs
- SchemaTypeEmitter.cs
- NamespaceCollection.cs
- BitmapData.cs
- RowToParametersTransformer.cs
- FileStream.cs
- CompareValidator.cs
- Switch.cs
- EncryptedType.cs
- TaiwanLunisolarCalendar.cs
- UInt32Storage.cs
- DataGridCellsPanel.cs
- RequestQueryParser.cs
- EdmSchemaAttribute.cs
- BookmarkOptionsHelper.cs
- RoleManagerEventArgs.cs
- ShapingWorkspace.cs
- DesignerActionVerbList.cs
- StorageBasedPackageProperties.cs
- TextElementCollectionHelper.cs
- ExpressionVisitorHelpers.cs
- TemplatingOptionsDialog.cs
- OledbConnectionStringbuilder.cs
- WorkflowValidationFailedException.cs
- DocumentViewerBase.cs
- SrgsOneOf.cs
- MultiTrigger.cs
- ClientType.cs
- ConnectionManagementElementCollection.cs
- SqlVisitor.cs
- MoveSizeWinEventHandler.cs
- HashLookup.cs
- XmlQueryCardinality.cs
- ColumnHeaderCollectionEditor.cs
- FormViewCommandEventArgs.cs
- UnionExpr.cs
- IdentitySection.cs
- Exceptions.cs
- ParenthesizePropertyNameAttribute.cs
- GroupBox.cs
- XmlCustomFormatter.cs