Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- Component.cs
- MaterialGroup.cs
- PieceDirectory.cs
- ModifyActivitiesPropertyDescriptor.cs
- ObjectQueryState.cs
- TabRenderer.cs
- Matrix.cs
- GuidelineSet.cs
- SerializationTrace.cs
- HttpRuntime.cs
- TheQuery.cs
- ServiceModelEnumValidatorAttribute.cs
- OperationInfo.cs
- WebBrowserContainer.cs
- ScaleTransform3D.cs
- DeflateStream.cs
- VScrollBar.cs
- PickDesigner.xaml.cs
- FileDialog_Vista_Interop.cs
- SimpleHandlerBuildProvider.cs
- UpdateInfo.cs
- GC.cs
- _CacheStreams.cs
- ManagedFilter.cs
- XmlSchemaCompilationSettings.cs
- ProviderConnectionPointCollection.cs
- InputBuffer.cs
- PersonalizableAttribute.cs
- PrintController.cs
- CounterSetInstanceCounterDataSet.cs
- UInt64Converter.cs
- RtfFormatStack.cs
- QueryContinueDragEventArgs.cs
- HighContrastHelper.cs
- ExitEventArgs.cs
- figurelength.cs
- LockedBorderGlyph.cs
- ScrollItemPattern.cs
- DataPagerFieldCommandEventArgs.cs
- HtmlControlAdapter.cs
- WebReference.cs
- ListenerElementsCollection.cs
- Ipv6Element.cs
- QilIterator.cs
- XmlCharCheckingReader.cs
- ExceptionHandlersDesigner.cs
- WebPart.cs
- XamlTypeMapper.cs
- TTSEngineProxy.cs
- ResourceSet.cs
- InstanceKeyCompleteException.cs
- OdbcPermission.cs
- Matrix3D.cs
- TagMapCollection.cs
- IncrementalHitTester.cs
- EndEvent.cs
- ExceptionRoutedEventArgs.cs
- DynamicResourceExtension.cs
- DocumentCollection.cs
- RegexFCD.cs
- ProtocolReflector.cs
- ScriptingJsonSerializationSection.cs
- MetaColumn.cs
- ClientSideQueueItem.cs
- ConvertEvent.cs
- RequestCachingSection.cs
- MaterialGroup.cs
- ProviderConnectionPoint.cs
- MetadataProperty.cs
- TextServicesCompartment.cs
- SyndicationDeserializer.cs
- IncrementalCompileAnalyzer.cs
- WebControlsSection.cs
- BuilderPropertyEntry.cs
- CompilerTypeWithParams.cs
- ObjectDataSource.cs
- ProxyWebPartManager.cs
- StreamHelper.cs
- DoubleAnimationUsingKeyFrames.cs
- AutomationPropertyInfo.cs
- GrammarBuilderRuleRef.cs
- FileController.cs
- DbTransaction.cs
- ValidationErrorEventArgs.cs
- ClientTargetCollection.cs
- GridViewRowPresenter.cs
- CodeCommentStatementCollection.cs
- RelatedCurrencyManager.cs
- ImageField.cs
- SoapTypeAttribute.cs
- WebPartDescription.cs
- MobileControlsSectionHandler.cs
- TabControlEvent.cs
- SemanticAnalyzer.cs
- XmlSchemaParticle.cs
- PolicyDesigner.cs
- DoubleStorage.cs
- SpecularMaterial.cs
- PropertyGeneratedEventArgs.cs
- GroupBoxRenderer.cs