Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / CompMod / System / Collections / Specialized / StringDictionaryWithComparer.cs / 1305376 / StringDictionaryWithComparer.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- // StringDictionary compares keys by converting them to lowercase first, using the Invariant culture. // This is not the right thing to do for file names, registry keys, environment variable etc. // This internal version of StringDictionary accepts an IEqualityComparer and enables you to // customize the string comparison to be StringComparer.OrdinalIgnoreCase for the above cases. namespace System.Collections.Specialized { using System.Runtime.InteropServices; using System.Diagnostics; using System; using System.Collections; using System.ComponentModel.Design.Serialization; using System.Globalization; [Serializable] internal class StringDictionaryWithComparer : StringDictionary { public StringDictionaryWithComparer() : this(StringComparer.OrdinalIgnoreCase) { } public StringDictionaryWithComparer(IEqualityComparer comparer) { ReplaceHashtable(new Hashtable(comparer)); } public override string this[string key] { get { if( key == null ) { throw new ArgumentNullException("key"); } return (string) contents[key]; } set { if( key == null ) { throw new ArgumentNullException("key"); } contents[key] = value; } } public override void Add(string key, string value) { if( key == null ) { throw new ArgumentNullException("key"); } contents.Add(key, value); } public override bool ContainsKey(string key) { if( key == null ) { throw new ArgumentNullException("key"); } return contents.ContainsKey(key); } public override void Remove(string key) { if( key == null ) { throw new ArgumentNullException("key"); } contents.Remove(key); } } } // 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
- DeviceContext.cs
- Argument.cs
- AssemblyBuilder.cs
- ResXResourceWriter.cs
- FixUp.cs
- DiagnosticStrings.cs
- CompiledIdentityConstraint.cs
- BindingSource.cs
- SqlConnectionManager.cs
- PathSegment.cs
- TypeExtensionSerializer.cs
- InputLanguageManager.cs
- RadialGradientBrush.cs
- COM2Properties.cs
- SqlConnectionFactory.cs
- JsonWriter.cs
- DocumentGrid.cs
- EdmProperty.cs
- SocketException.cs
- XmlTextReaderImpl.cs
- EntityDataReader.cs
- NonBatchDirectoryCompiler.cs
- XmlTextEncoder.cs
- MasterPageParser.cs
- ToolStripItemRenderEventArgs.cs
- UnsafeNetInfoNativeMethods.cs
- TextBoxBase.cs
- DataPointer.cs
- RegexParser.cs
- IFlowDocumentViewer.cs
- CustomCategoryAttribute.cs
- SecurityDocument.cs
- IQueryable.cs
- WindowsRichEdit.cs
- CodeSnippetExpression.cs
- ThreadAbortException.cs
- SessionEndingEventArgs.cs
- SymLanguageType.cs
- RectAnimation.cs
- SqlGenerator.cs
- ByteAnimationBase.cs
- View.cs
- PersonalizationProviderHelper.cs
- ReadOnlyNameValueCollection.cs
- x509store.cs
- QuaternionKeyFrameCollection.cs
- SourceFileBuildProvider.cs
- WeakEventTable.cs
- Maps.cs
- SpotLight.cs
- HMACRIPEMD160.cs
- PrintDocument.cs
- ProgressBar.cs
- ButtonAutomationPeer.cs
- QuadraticBezierSegment.cs
- FilterElement.cs
- BaseCodeDomTreeGenerator.cs
- CompilationLock.cs
- _ScatterGatherBuffers.cs
- RangeBaseAutomationPeer.cs
- XPathNodePointer.cs
- BoolLiteral.cs
- StylusPointProperties.cs
- PeerApplication.cs
- WebPartConnectionsCancelVerb.cs
- SafeSecurityHelper.cs
- Icon.cs
- AmbientLight.cs
- BamlRecords.cs
- XmlException.cs
- ObjectTypeMapping.cs
- StrongNameHelpers.cs
- FormViewCommandEventArgs.cs
- Comparer.cs
- DataGridColumnCollection.cs
- PrivilegeNotHeldException.cs
- OpenFileDialog.cs
- ClientApiGenerator.cs
- BulletedList.cs
- EntityContainerEntitySet.cs
- SerialErrors.cs
- DataSourceView.cs
- smtpconnection.cs
- CfgParser.cs
- WebControlsSection.cs
- IriParsingElement.cs
- ControlEvent.cs
- ConfigurationLocation.cs
- TrackingParticipant.cs
- ThemeDirectoryCompiler.cs
- AccessedThroughPropertyAttribute.cs
- ColumnWidthChangingEvent.cs
- TypeReference.cs
- DesignerVerb.cs
- PropertyEmitter.cs
- CaseExpr.cs
- OrderedDictionary.cs
- DiagnosticEventProvider.cs
- DataGrid.cs