Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / ndp / fx / src / xsp / System / Web / Extensions / Util / Pair.cs / 1 / Pair.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Util { using System; // Generic Pair class. Overrides Equals() and GetHashCode(), so it can be used as a dictionary key. internal sealed class Pair{ private readonly TFirst _first; private readonly TSecond _second; public Pair(TFirst first, TSecond second) { _first = first; _second = second; } public TFirst First { get { return _first; } } public TSecond Second { get { return _second; } } public override bool Equals(object obj) { if (obj == this) { return true; } Pair other = obj as Pair ; return (other != null) && (((other._first == null) && (_first == null)) || ((other._first != null) && other._first.Equals(_first))) && (((other._second == null) && (_second == null)) || ((other._second != null) && other._second.Equals(_second))); } public override int GetHashCode() { int a = (_first == null) ? 0 : _first.GetHashCode(); int b = (_second == null) ? 0 : _second.GetHashCode(); return HashCodeCombiner.CombineHashCodes(a, b); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Util { using System; // Generic Pair class. Overrides Equals() and GetHashCode(), so it can be used as a dictionary key. internal sealed class Pair{ private readonly TFirst _first; private readonly TSecond _second; public Pair(TFirst first, TSecond second) { _first = first; _second = second; } public TFirst First { get { return _first; } } public TSecond Second { get { return _second; } } public override bool Equals(object obj) { if (obj == this) { return true; } Pair other = obj as Pair ; return (other != null) && (((other._first == null) && (_first == null)) || ((other._first != null) && other._first.Equals(_first))) && (((other._second == null) && (_second == null)) || ((other._second != null) && other._second.Equals(_second))); } public override int GetHashCode() { int a = (_first == null) ? 0 : _first.GetHashCode(); int b = (_second == null) ? 0 : _second.GetHashCode(); return HashCodeCombiner.CombineHashCodes(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
- C14NUtil.cs
- Script.cs
- SqlClientWrapperSmiStream.cs
- BitSet.cs
- DocumentSequenceHighlightLayer.cs
- SchemaObjectWriter.cs
- WindowsToolbar.cs
- PointF.cs
- ListBoxAutomationPeer.cs
- QilLiteral.cs
- VisualStateChangedEventArgs.cs
- HwndKeyboardInputProvider.cs
- _SslStream.cs
- IconConverter.cs
- ExceptionRoutedEventArgs.cs
- CheckBoxStandardAdapter.cs
- RowVisual.cs
- SystemNetHelpers.cs
- WebPartTransformerAttribute.cs
- HashMembershipCondition.cs
- CustomAttributeBuilder.cs
- SqlTypeConverter.cs
- PropertyEmitterBase.cs
- FormsAuthenticationUser.cs
- _ScatterGatherBuffers.cs
- GlyphTypeface.cs
- EmptyStringExpandableObjectConverter.cs
- FolderBrowserDialogDesigner.cs
- IconEditor.cs
- RevocationPoint.cs
- TextSegment.cs
- DragCompletedEventArgs.cs
- DataGridViewCellConverter.cs
- ZipIOCentralDirectoryBlock.cs
- PtsCache.cs
- CounterSample.cs
- AccessText.cs
- XmlNavigatorFilter.cs
- WebPartVerb.cs
- MyContact.cs
- JoinCqlBlock.cs
- AliasedExpr.cs
- StatusStrip.cs
- DateTimeParse.cs
- LoginCancelEventArgs.cs
- XmlSchemaInferenceException.cs
- SessionStateUtil.cs
- ProtectedProviderSettings.cs
- XPathNode.cs
- ValidationHelper.cs
- _UriSyntax.cs
- SemaphoreSlim.cs
- Visual.cs
- DataRecordInfo.cs
- SessionStateUtil.cs
- TransactionManager.cs
- AbstractSvcMapFileLoader.cs
- KoreanCalendar.cs
- HttpResponseMessageProperty.cs
- XmlSchemaAttributeGroup.cs
- BordersPage.cs
- WindowProviderWrapper.cs
- ListViewAutomationPeer.cs
- XPathMessageFilterTable.cs
- ContentHostHelper.cs
- ApplicationFileParser.cs
- DataKey.cs
- BindableTemplateBuilder.cs
- IgnorePropertiesAttribute.cs
- StringUtil.cs
- GC.cs
- XmlTypeMapping.cs
- HttpResponseInternalWrapper.cs
- SecurityPermission.cs
- Int16Converter.cs
- MultipartContentParser.cs
- InfoCardTrace.cs
- RowCache.cs
- LessThanOrEqual.cs
- BaseUriHelper.cs
- ManagementOptions.cs
- MenuAdapter.cs
- DateTimeParse.cs
- ListenerElementsCollection.cs
- ReaderWriterLockWrapper.cs
- PasswordBoxAutomationPeer.cs
- SqlProviderManifest.cs
- DataListItemCollection.cs
- WinFormsSecurity.cs
- NestPullup.cs
- hresults.cs
- CapabilitiesSection.cs
- DataGridViewCellFormattingEventArgs.cs
- SafeFileMappingHandle.cs
- Expressions.cs
- BamlLocalizer.cs
- ColorAnimationUsingKeyFrames.cs
- CharConverter.cs
- ImageBrush.cs
- StringArrayEditor.cs