Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / 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); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // ==++== // // 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); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- Application.cs
- Certificate.cs
- CodeSnippetStatement.cs
- ZeroOpNode.cs
- HttpFileCollection.cs
- WebControlParameterProxy.cs
- CodeCommentStatement.cs
- Point4D.cs
- MessageBox.cs
- OdbcException.cs
- CriticalExceptions.cs
- NameHandler.cs
- CompiledXpathExpr.cs
- ActivityExecutionContext.cs
- TypeSource.cs
- TemplateApplicationHelper.cs
- MapPathBasedVirtualPathProvider.cs
- ValidatingCollection.cs
- PenCursorManager.cs
- FilterUserControlBase.cs
- TextPenaltyModule.cs
- InvokePattern.cs
- CachedBitmap.cs
- SecurityRuntime.cs
- PrivilegedConfigurationManager.cs
- ADConnectionHelper.cs
- TextTreeInsertElementUndoUnit.cs
- HierarchicalDataBoundControl.cs
- RewritingProcessor.cs
- SubMenuStyleCollection.cs
- BindingBase.cs
- SynchronizedInputPattern.cs
- Thumb.cs
- xsdvalidator.cs
- ClientApiGenerator.cs
- TypeCacheManager.cs
- ValueExpressions.cs
- EventArgs.cs
- ASCIIEncoding.cs
- ListBoxChrome.cs
- SoapEnumAttribute.cs
- PipeSecurity.cs
- ScriptIgnoreAttribute.cs
- IImplicitResourceProvider.cs
- NativeMethods.cs
- GZipDecoder.cs
- XmlSchemaElement.cs
- EdmFunction.cs
- JournalEntryStack.cs
- RecognizeCompletedEventArgs.cs
- TableLayoutStyle.cs
- LiteralTextContainerControlBuilder.cs
- StandardRuntimeEnumValidator.cs
- DispatcherHooks.cs
- TransactionFormatter.cs
- PenLineCapValidation.cs
- ManipulationDevice.cs
- SelfIssuedSamlTokenFactory.cs
- NativeCompoundFileAPIs.cs
- BindingExpressionUncommonField.cs
- DBConnectionString.cs
- CacheDict.cs
- PropertyRef.cs
- DataTableExtensions.cs
- CollectionChange.cs
- AdapterUtil.cs
- FrameworkElement.cs
- OpenFileDialog.cs
- GridItemProviderWrapper.cs
- PerfService.cs
- OleDbException.cs
- UnsafeNativeMethods.cs
- FontStyleConverter.cs
- SmtpDigestAuthenticationModule.cs
- OdbcFactory.cs
- SqlFunctionAttribute.cs
- TreeViewItemAutomationPeer.cs
- UpdateManifestForBrowserApplication.cs
- ContentHostHelper.cs
- SchemaTypeEmitter.cs
- ParagraphVisual.cs
- InputReferenceExpression.cs
- Debug.cs
- DiscriminatorMap.cs
- ServiceHostingEnvironmentSection.cs
- CodeSubDirectory.cs
- FileDialog.cs
- DateTime.cs
- EntityDataSourceSelectingEventArgs.cs
- PageWrapper.cs
- EventItfInfo.cs
- Shared.cs
- StreamInfo.cs
- LocalizabilityAttribute.cs
- ThaiBuddhistCalendar.cs
- UnsafeNativeMethodsTablet.cs
- ImageIndexConverter.cs
- WizardPanelChangingEventArgs.cs
- Internal.cs
- DataGridColumnHeader.cs