Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RequestCacheManager.cs
- RelationshipEndCollection.cs
- OrderByQueryOptionExpression.cs
- TimeIntervalCollection.cs
- AutoResetEvent.cs
- EntitySqlQueryState.cs
- Formatter.cs
- COM2Enum.cs
- Pen.cs
- PropertyIDSet.cs
- SelfIssuedAuthRSACryptoProvider.cs
- AspNetSynchronizationContext.cs
- MetadataPropertyCollection.cs
- SessionState.cs
- DbProviderManifest.cs
- DateTimeStorage.cs
- RectangleGeometry.cs
- ResXResourceSet.cs
- SourceElementsCollection.cs
- MessagingActivityHelper.cs
- SqlFactory.cs
- ToolBarDesigner.cs
- _AuthenticationState.cs
- DispatcherExceptionEventArgs.cs
- OutputCacheProfileCollection.cs
- CapabilitiesUse.cs
- PageThemeCodeDomTreeGenerator.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- MouseEventArgs.cs
- Regex.cs
- OpCodes.cs
- DesignerSerializationOptionsAttribute.cs
- ObjectTag.cs
- FieldMetadata.cs
- Debug.cs
- ResXResourceSet.cs
- FixUp.cs
- CodeTypeParameterCollection.cs
- LayoutUtils.cs
- TimerElapsedEvenArgs.cs
- SqlClientMetaDataCollectionNames.cs
- ClientTargetSection.cs
- RenameRuleObjectDialog.cs
- ClassGenerator.cs
- ReferencedType.cs
- Span.cs
- AppDomainManager.cs
- ToolStripPanel.cs
- ReadOnlyNameValueCollection.cs
- MetadataSerializer.cs
- InputManager.cs
- DateTimeParse.cs
- StringFreezingAttribute.cs
- DocumentOrderQuery.cs
- WebRequestModuleElementCollection.cs
- ObjectDataSourceStatusEventArgs.cs
- SafeNativeMethodsOther.cs
- ApplicationHost.cs
- List.cs
- OleDbReferenceCollection.cs
- SingleConverter.cs
- DataGridViewCellFormattingEventArgs.cs
- RC2.cs
- NodeFunctions.cs
- ManipulationDelta.cs
- UIElementParaClient.cs
- XmlValidatingReaderImpl.cs
- Errors.cs
- TriggerBase.cs
- DockPattern.cs
- BindingValueChangedEventArgs.cs
- SQLUtility.cs
- Menu.cs
- InternalPolicyElement.cs
- Rule.cs
- HttpListenerPrefixCollection.cs
- FixedPosition.cs
- ViewBox.cs
- BitArray.cs
- _CacheStreams.cs
- RegexCaptureCollection.cs
- QilUnary.cs
- Evidence.cs
- CodeCompileUnit.cs
- StringComparer.cs
- ReflectionPermission.cs
- PaperSource.cs
- CAGDesigner.cs
- ScriptResourceInfo.cs
- ExecutionScope.cs
- XmlSchemaImport.cs
- HttpListenerRequest.cs
- Hashtable.cs
- ReliableSessionBindingElement.cs
- ListViewInsertionMark.cs
- AccessControlEntry.cs
- BehaviorEditorPart.cs
- SignedPkcs7.cs
- ActivityDesignerLayoutSerializers.cs
- DataGridViewRowPostPaintEventArgs.cs