Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / clr / src / BCL / System / Collections / CaseInsensitiveComparer.cs / 1 / CaseInsensitiveComparer.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: CaseInsensitiveComparer ** ** ** ============================================================*/ namespace System.Collections { //This class does not contain members and does not need to be serializable using System; using System.Collections; using System.Globalization; [Serializable] [System.Runtime.InteropServices.ComVisible(true)] public class CaseInsensitiveComparer : IComparer { private CompareInfo m_compareInfo; private static CaseInsensitiveComparer m_InvariantCaseInsensitiveComparer; public CaseInsensitiveComparer() { m_compareInfo = CultureInfo.CurrentCulture.CompareInfo; } public CaseInsensitiveComparer(CultureInfo culture) { if (culture==null) { throw new ArgumentNullException("culture"); } m_compareInfo = culture.CompareInfo; } public static CaseInsensitiveComparer Default { get { return new CaseInsensitiveComparer(CultureInfo.CurrentCulture); } } public static CaseInsensitiveComparer DefaultInvariant { get { if (m_InvariantCaseInsensitiveComparer == null) { m_InvariantCaseInsensitiveComparer = new CaseInsensitiveComparer(CultureInfo.InvariantCulture); } return m_InvariantCaseInsensitiveComparer; } } // Behaves exactly like Comparer.Default.Compare except that the comparison is case insensitive // Compares two Objects by calling CompareTo. If a == // b,0 is returned. If a implements // IComparable, a.CompareTo(b) is returned. If a // doesn't implement IComparable and b does, // -(b.CompareTo(a)) is returned, otherwise an // exception is thrown. // public int Compare(Object a, Object b) { String sa = a as String; String sb = b as String; if (sa != null && sb != null) return m_compareInfo.Compare(sa, sb, CompareOptions.IgnoreCase); else return Comparer.Default.Compare(a,b); } } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TemplateBamlTreeBuilder.cs
- AdornerPresentationContext.cs
- ParameterEditorUserControl.cs
- Baml2006ReaderSettings.cs
- TraceSwitch.cs
- MimeMultiPart.cs
- AvTraceDetails.cs
- SafeLibraryHandle.cs
- WsiProfilesElement.cs
- DbConnectionPoolIdentity.cs
- PropertyFilterAttribute.cs
- ApplicationDirectoryMembershipCondition.cs
- XmlSchemaImporter.cs
- PropertyContainer.cs
- IdleTimeoutMonitor.cs
- DbXmlEnabledProviderManifest.cs
- EventArgs.cs
- ProviderConnectionPoint.cs
- WindowsGraphics.cs
- TypeBuilderInstantiation.cs
- CompilationUtil.cs
- ThreadExceptionEvent.cs
- InkCanvasSelectionAdorner.cs
- ProtocolsConfiguration.cs
- StreamGeometry.cs
- ConfigurationLoader.cs
- CryptographicAttribute.cs
- SoapAttributeOverrides.cs
- ExceptionTranslationTable.cs
- IgnoreFlushAndCloseStream.cs
- BookmarkManager.cs
- QueryOptionExpression.cs
- PagedDataSource.cs
- RuntimeCompatibilityAttribute.cs
- DbInsertCommandTree.cs
- ConfigurationLocationCollection.cs
- SessionStateSection.cs
- PageCache.cs
- TextTreeInsertUndoUnit.cs
- DiagnosticTrace.cs
- RSAPKCS1SignatureFormatter.cs
- PhoneCallDesigner.cs
- DBCommand.cs
- XmlSerializerVersionAttribute.cs
- BulletChrome.cs
- ResourceAssociationSet.cs
- ObfuscationAttribute.cs
- XmlSchemaValidator.cs
- AccessKeyManager.cs
- RuntimeHelpers.cs
- HttpResponseHeader.cs
- InProcStateClientManager.cs
- ListSortDescription.cs
- ImageProxy.cs
- FixedNode.cs
- ZipIOLocalFileBlock.cs
- MenuItem.cs
- ImageIndexConverter.cs
- ColorTransformHelper.cs
- IDataContractSurrogate.cs
- MexTcpBindingCollectionElement.cs
- EntityClassGenerator.cs
- TextFormattingConverter.cs
- NameValuePair.cs
- WpfKnownTypeInvoker.cs
- CompiledRegexRunner.cs
- ExecutionContext.cs
- DataGridCaption.cs
- PrintDocument.cs
- ListViewInsertionMark.cs
- DateTimeUtil.cs
- SendActivityValidator.cs
- StyleCollection.cs
- DirectoryObjectSecurity.cs
- RepeaterItemCollection.cs
- ConstructorExpr.cs
- ConnectionProviderAttribute.cs
- XmlConverter.cs
- ExpressionVisitor.cs
- List.cs
- CompoundFileReference.cs
- ProxyWebPartConnectionCollection.cs
- ExecutorLocksHeldException.cs
- UrlMapping.cs
- CustomBinding.cs
- TextProviderWrapper.cs
- Encoder.cs
- PrimaryKeyTypeConverter.cs
- Win32Native.cs
- TreeView.cs
- SymbolTable.cs
- activationcontext.cs
- ExtendedProperty.cs
- DataSourceControl.cs
- PeerCustomResolverSettings.cs
- TaiwanCalendar.cs
- BooleanConverter.cs
- validationstate.cs
- TerminatorSinks.cs
- Function.cs