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
- SecurityTokenParametersEnumerable.cs
- BufferBuilder.cs
- StorageTypeMapping.cs
- mediaeventargs.cs
- RegexCompiler.cs
- _LocalDataStore.cs
- EntityDataSource.cs
- IDReferencePropertyAttribute.cs
- TextElementAutomationPeer.cs
- FilteredAttributeCollection.cs
- SmiEventSink.cs
- DiagnosticsConfigurationHandler.cs
- CodeTypeParameterCollection.cs
- DesignerTransactionCloseEvent.cs
- AttributeSetAction.cs
- cookie.cs
- BeginStoryboard.cs
- SafeArchiveContext.cs
- ListViewUpdateEventArgs.cs
- XPathDocumentNavigator.cs
- Item.cs
- MetadataArtifactLoaderCompositeFile.cs
- PropertyChangeTracker.cs
- ZipArchive.cs
- TextTreeUndoUnit.cs
- DirectoryInfo.cs
- WebServicesSection.cs
- Package.cs
- ParameterToken.cs
- TreeViewHitTestInfo.cs
- ObjectTag.cs
- KeyTime.cs
- FontStyle.cs
- BatchParser.cs
- ImpersonateTokenRef.cs
- QilVisitor.cs
- SchemaNamespaceManager.cs
- PropertyFilterAttribute.cs
- PageHandlerFactory.cs
- SignHashRequest.cs
- TextServicesManager.cs
- Composition.cs
- PreviewControlDesigner.cs
- DeviceContext2.cs
- PinnedBufferMemoryStream.cs
- EntityDataSourceValidationException.cs
- HtmlTernaryTree.cs
- NoneExcludedImageIndexConverter.cs
- HtmlInputFile.cs
- CodeBinaryOperatorExpression.cs
- ScrollPattern.cs
- WinFormsUtils.cs
- Image.cs
- ThreadAttributes.cs
- DataGridViewColumnConverter.cs
- DataPagerFieldCommandEventArgs.cs
- EditCommandColumn.cs
- NavigationExpr.cs
- DataServiceConfiguration.cs
- __Filters.cs
- SortAction.cs
- PageAdapter.cs
- KeyedCollection.cs
- SignedInfo.cs
- PackWebRequest.cs
- AudioDeviceOut.cs
- ExtenderControl.cs
- RoleManagerModule.cs
- ProfileWorkflowElement.cs
- CompositeCollectionView.cs
- MasterPageCodeDomTreeGenerator.cs
- ToolBarButton.cs
- ScriptingProfileServiceSection.cs
- XPathSingletonIterator.cs
- InternalException.cs
- BufferModeSettings.cs
- ExtractedStateEntry.cs
- PhonemeEventArgs.cs
- PeerCollaborationPermission.cs
- NavigationEventArgs.cs
- ButtonField.cs
- SoapReflectionImporter.cs
- Roles.cs
- PrePostDescendentsWalker.cs
- PasswordBoxAutomationPeer.cs
- BlurBitmapEffect.cs
- DebugInfo.cs
- DnsPermission.cs
- SupportingTokenChannel.cs
- InheritanceContextHelper.cs
- Cloud.cs
- HostedNamedPipeTransportManager.cs
- UserControlCodeDomTreeGenerator.cs
- StorageMappingFragment.cs
- RefExpr.cs
- VisualTarget.cs
- ContainerActivationHelper.cs
- SizeIndependentAnimationStorage.cs
- MaskedTextBoxTextEditorDropDown.cs
- Debug.cs