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
- precedingsibling.cs
- DataException.cs
- ScaleTransform3D.cs
- TypedReference.cs
- StringKeyFrameCollection.cs
- ClientConvert.cs
- TreeNodeMouseHoverEvent.cs
- ISO2022Encoding.cs
- SqlMethodAttribute.cs
- SQLDoubleStorage.cs
- DocumentPaginator.cs
- X509DefaultServiceCertificateElement.cs
- WebPartConnectVerb.cs
- ReadOnlyKeyedCollection.cs
- WaveHeader.cs
- TreeViewItem.cs
- SqlCachedBuffer.cs
- sitestring.cs
- GeometryValueSerializer.cs
- Logging.cs
- ExtenderProvidedPropertyAttribute.cs
- ToolZone.cs
- Tokenizer.cs
- Properties.cs
- COM2FontConverter.cs
- ObjectHandle.cs
- DataBindEngine.cs
- Int64Animation.cs
- XmlSerializerFaultFormatter.cs
- CollectionBase.cs
- CompiledXpathExpr.cs
- DisplayInformation.cs
- RtfToXamlLexer.cs
- AssemblyCollection.cs
- hwndwrapper.cs
- DbConnectionPoolGroup.cs
- WebBrowserUriTypeConverter.cs
- ServiceOperationParameter.cs
- SecurityCriticalDataForSet.cs
- ParameterElement.cs
- CodeAttachEventStatement.cs
- ObjectDataSourceFilteringEventArgs.cs
- ControlAdapter.cs
- Paragraph.cs
- XPathNodeInfoAtom.cs
- FlowDocumentView.cs
- ProtocolImporter.cs
- Crypto.cs
- PolyQuadraticBezierSegment.cs
- DynamicValidator.cs
- BamlResourceDeserializer.cs
- HtmlControlPersistable.cs
- SQlBooleanStorage.cs
- StickyNoteContentControl.cs
- WebPartRestoreVerb.cs
- WebBrowser.cs
- ExpressionEditor.cs
- FileStream.cs
- OdbcHandle.cs
- PerformanceCounterLib.cs
- NonParentingControl.cs
- ParserOptions.cs
- EventMappingSettings.cs
- HitTestParameters.cs
- GridItemPattern.cs
- JsonClassDataContract.cs
- PartBasedPackageProperties.cs
- SerializationHelper.cs
- ButtonRenderer.cs
- ExtractedStateEntry.cs
- ControlBuilderAttribute.cs
- ResourceReferenceExpression.cs
- RegexCapture.cs
- DataGridViewMethods.cs
- SoapCodeExporter.cs
- BooleanStorage.cs
- Pair.cs
- GeneralTransform3DCollection.cs
- Shape.cs
- ObjectIDGenerator.cs
- StorageRoot.cs
- HtmlTable.cs
- ServiceNameElement.cs
- PropertyEmitter.cs
- IssuedTokenParametersElement.cs
- SimpleWebHandlerParser.cs
- BuildProvidersCompiler.cs
- DBDataPermissionAttribute.cs
- Animatable.cs
- NativeRecognizer.cs
- DropDownList.cs
- ProtocolElement.cs
- TypeInitializationException.cs
- MulticastIPAddressInformationCollection.cs
- OracleDateTime.cs
- TaskHelper.cs
- PaginationProgressEventArgs.cs
- MetadataHelper.cs
- SafeTokenHandle.cs
- Clause.cs