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
- ReaderWriterLockWrapper.cs
- GrabHandleGlyph.cs
- FontStretch.cs
- SqlFacetAttribute.cs
- OracleEncoding.cs
- sqlnorm.cs
- OleDbCommand.cs
- Propagator.Evaluator.cs
- TraceHandler.cs
- XmlArrayItemAttributes.cs
- ScriptModule.cs
- XD.cs
- ISessionStateStore.cs
- DBPropSet.cs
- pingexception.cs
- DataRelationPropertyDescriptor.cs
- HotSpotCollection.cs
- EndpointAddress10.cs
- PatternMatcher.cs
- PenThread.cs
- VisualStyleRenderer.cs
- XmlSchemaAnnotation.cs
- TextRenderer.cs
- TransportSecurityBindingElement.cs
- SaveFileDialog.cs
- XmlAtomicValue.cs
- ContentTextAutomationPeer.cs
- AuthenticatedStream.cs
- IApplicationTrustManager.cs
- NativeActivityContext.cs
- FileDataSourceCache.cs
- DBConnection.cs
- TablePattern.cs
- SessionParameter.cs
- ResXResourceSet.cs
- __ComObject.cs
- ToolBarPanel.cs
- NativeBuffer.cs
- FieldAccessException.cs
- FloatUtil.cs
- PointLightBase.cs
- RightsManagementEncryptionTransform.cs
- XsltException.cs
- ValidationEventArgs.cs
- SymLanguageType.cs
- HttpBufferlessInputStream.cs
- DetailsViewPagerRow.cs
- Directory.cs
- SqlCacheDependencyDatabase.cs
- RSACryptoServiceProvider.cs
- X509Extension.cs
- CookieProtection.cs
- HierarchicalDataTemplate.cs
- InputLangChangeEvent.cs
- ResourcePermissionBaseEntry.cs
- PtsPage.cs
- Brush.cs
- OrderedEnumerableRowCollection.cs
- indexingfiltermarshaler.cs
- XmlArrayAttribute.cs
- XhtmlBasicSelectionListAdapter.cs
- ElementAction.cs
- Header.cs
- SubMenuStyleCollection.cs
- _NetRes.cs
- NotifyIcon.cs
- SQLInt32Storage.cs
- DataGridItem.cs
- PenContexts.cs
- PageFunction.cs
- SqlClientPermission.cs
- StreamGeometry.cs
- QueryContinueDragEventArgs.cs
- XslAstAnalyzer.cs
- GridItemPatternIdentifiers.cs
- FloaterBaseParagraph.cs
- ProviderBase.cs
- RoleGroupCollection.cs
- Set.cs
- XmlToDatasetMap.cs
- CaseInsensitiveComparer.cs
- MapPathBasedVirtualPathProvider.cs
- XPathDocumentIterator.cs
- Token.cs
- FormatterServices.cs
- ServiceDocumentFormatter.cs
- GridViewSortEventArgs.cs
- AcceleratedTokenProvider.cs
- XmlUTF8TextReader.cs
- DefaultMemberAttribute.cs
- CodeDomSerializationProvider.cs
- XmlSchemaSet.cs
- AuthenticationModuleElementCollection.cs
- SmtpReplyReader.cs
- NavigationProperty.cs
- PackagingUtilities.cs
- ColumnMapTranslator.cs
- ClosableStream.cs
- ADMembershipProvider.cs
- AudioException.cs