Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / xsp / System / Web / Util / SymbolEqualComparer.cs / 1 / SymbolEqualComparer.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Util { using System.Collections; using System.Globalization; ////// internal class SymbolEqualComparer: IComparer { ////// For internal use only. This implements a comparison that only /// checks for equalilty, so this should only be used in un-sorted data /// structures like Hastable and ListDictionary. This is a little faster /// than using CaseInsensitiveComparer because it does a strict character by /// character equality chech rather than a sorted comparison. /// ////// internal static readonly IComparer Default = new SymbolEqualComparer(); internal SymbolEqualComparer() { } int IComparer.Compare(object keyLeft, object keyRight) { string sLeft = keyLeft as string; string sRight = keyRight as string; if (sLeft == null) { throw new ArgumentNullException("keyLeft"); } if (sRight == null) { throw new ArgumentNullException("keyRight"); } int lLeft = sLeft.Length; int lRight = sRight.Length; if (lLeft != lRight) { return 1; } for (int i = 0; i < lLeft; i++) { char charLeft = sLeft[i]; char charRight = sRight[i]; if (charLeft == charRight) { continue; } UnicodeCategory catLeft = Char.GetUnicodeCategory(charLeft); UnicodeCategory catRight = Char.GetUnicodeCategory(charRight); if (catLeft == UnicodeCategory.UppercaseLetter && catRight == UnicodeCategory.LowercaseLetter) { if (Char.ToLower(charLeft, CultureInfo.InvariantCulture) == charRight) { continue; } } else if (catRight == UnicodeCategory.UppercaseLetter && catLeft == UnicodeCategory.LowercaseLetter){ if (Char.ToLower(charRight, CultureInfo.InvariantCulture) == charLeft) { continue; } } return 1; } return 0; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.[To be supplied.] ///
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- BeginStoryboard.cs
- EnvelopedSignatureTransform.cs
- EpmSourceTree.cs
- OutOfMemoryException.cs
- BindingList.cs
- UnsafeNativeMethods.cs
- complextypematerializer.cs
- GridItemCollection.cs
- WindowsTab.cs
- SerialPinChanges.cs
- DotNetATv1WindowsLogEntrySerializer.cs
- LineServices.cs
- AutomationProperty.cs
- MimeObjectFactory.cs
- WebChannelFactory.cs
- Parser.cs
- Model3D.cs
- MonitoringDescriptionAttribute.cs
- SQLMoney.cs
- XmlQueryContext.cs
- EntityKey.cs
- XmlDataProvider.cs
- BasicHttpSecurityMode.cs
- GroupBox.cs
- ObjectConverter.cs
- StreamUpgradeProvider.cs
- GuidConverter.cs
- TextTreeTextBlock.cs
- EncryptedReference.cs
- DirectoryInfo.cs
- ServiceObjectContainer.cs
- ServiceBusyException.cs
- xmlsaver.cs
- EndpointAddress10.cs
- AssemblyResourceLoader.cs
- ConfigurationErrorsException.cs
- BridgeDataRecord.cs
- Viewport3DVisual.cs
- ViewRendering.cs
- webproxy.cs
- XmlSchemaImporter.cs
- DocumentSequenceHighlightLayer.cs
- HyperlinkAutomationPeer.cs
- TimeSpan.cs
- SwitchLevelAttribute.cs
- PropertySegmentSerializationProvider.cs
- FixUp.cs
- EncoderParameters.cs
- UpnEndpointIdentityExtension.cs
- OdbcConnection.cs
- MethodRental.cs
- GridViewRowPresenterBase.cs
- MemberInfoSerializationHolder.cs
- XmlSchemaCompilationSettings.cs
- AuthenticatingEventArgs.cs
- ScrollEventArgs.cs
- DataSourceView.cs
- DocumentGrid.cs
- COM2FontConverter.cs
- __ConsoleStream.cs
- LogPolicy.cs
- CharUnicodeInfo.cs
- InheritedPropertyDescriptor.cs
- HttpHandlersSection.cs
- FigureParaClient.cs
- DelegatingHeader.cs
- TableSectionStyle.cs
- ScrollBarRenderer.cs
- SHA384Managed.cs
- HttpWebResponse.cs
- ObjectSpanRewriter.cs
- DataGridViewColumnHeaderCell.cs
- ThrowHelper.cs
- VideoDrawing.cs
- TreeNodeEventArgs.cs
- DecimalMinMaxAggregationOperator.cs
- ButtonFlatAdapter.cs
- XmlNullResolver.cs
- XD.cs
- DesignerDataView.cs
- Ref.cs
- ListBoxAutomationPeer.cs
- WhitespaceRule.cs
- UIElementPropertyUndoUnit.cs
- CodeAttributeDeclaration.cs
- XDRSchema.cs
- C14NUtil.cs
- PrivateFontCollection.cs
- PropertyChangedEventArgs.cs
- SystemIPv4InterfaceProperties.cs
- WindowsRegion.cs
- CodeCastExpression.cs
- DataServiceConfiguration.cs
- PropVariant.cs
- WindowsListViewItemCheckBox.cs
- AttachmentCollection.cs
- TypeDescriptorFilterService.cs
- FrameworkTextComposition.cs
- ReceiveMessageAndVerifySecurityAsyncResultBase.cs
- XamlRtfConverter.cs