Code:
/ DotNET / DotNET / 8.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
- DecoderReplacementFallback.cs
- Ray3DHitTestResult.cs
- ActivitiesCollection.cs
- VerificationException.cs
- SupportingTokenBindingElement.cs
- WebBrowsableAttribute.cs
- PeerPresenceInfo.cs
- TextPenaltyModule.cs
- ProviderMetadata.cs
- RequestCacheManager.cs
- ImageListStreamer.cs
- Utils.cs
- SqlPersistenceProviderFactory.cs
- DefaultBindingPropertyAttribute.cs
- BindingSource.cs
- BinaryObjectReader.cs
- DesignerLinkAdapter.cs
- XmlUtil.cs
- KerberosTokenFactoryCredential.cs
- Filter.cs
- SafeNativeMethods.cs
- HiddenField.cs
- Thread.cs
- ByeMessageApril2005.cs
- OracleConnectionString.cs
- UnsafeNativeMethods.cs
- PasswordRecovery.cs
- BufferModeSettings.cs
- BooleanFunctions.cs
- ArithmeticException.cs
- PermissionRequestEvidence.cs
- MimePart.cs
- DataGridCellsPanel.cs
- WebPartTransformerCollection.cs
- SqlNodeAnnotation.cs
- IntAverageAggregationOperator.cs
- SHA1.cs
- SimpleTypeResolver.cs
- FixedDSBuilder.cs
- ThemeDictionaryExtension.cs
- RepeatEnumerable.cs
- FormViewInsertEventArgs.cs
- SegmentInfo.cs
- OracleInternalConnection.cs
- TemplateBamlTreeBuilder.cs
- CryptoHelper.cs
- GeometryValueSerializer.cs
- MarshalByValueComponent.cs
- HtmlInputSubmit.cs
- AffineTransform3D.cs
- CryptoApi.cs
- ProfileSection.cs
- MenuItemBinding.cs
- SelectionListDesigner.cs
- RawStylusActions.cs
- CodeStatementCollection.cs
- NoResizeHandleGlyph.cs
- RootBuilder.cs
- DynamicRenderer.cs
- MenuCommand.cs
- _HelperAsyncResults.cs
- XmlSchemas.cs
- SolidColorBrush.cs
- TextWriter.cs
- TCPListener.cs
- ElementHostPropertyMap.cs
- AspProxy.cs
- FactoryId.cs
- SerializationEventsCache.cs
- InternalConfigRoot.cs
- RecoverInstanceLocksCommand.cs
- PrivateFontCollection.cs
- ApplicationCommands.cs
- ITreeGenerator.cs
- ApplicationGesture.cs
- WindowsPen.cs
- BlurEffect.cs
- DoubleCollectionConverter.cs
- ArrayListCollectionBase.cs
- TextTreeText.cs
- ContextMenuService.cs
- Image.cs
- MetadataArtifactLoaderResource.cs
- AnimationLayer.cs
- EmissiveMaterial.cs
- DataGridViewSelectedRowCollection.cs
- TemplateColumn.cs
- IndicFontClient.cs
- ComponentEditorPage.cs
- RSAPKCS1SignatureDeformatter.cs
- FlagsAttribute.cs
- TransactionChannel.cs
- MatrixCamera.cs
- BitmapSizeOptions.cs
- DesignerActionMethodItem.cs
- StringComparer.cs
- ProviderConnectionPoint.cs
- AsnEncodedData.cs
- ReadOnlyHierarchicalDataSource.cs
- ColumnCollection.cs