Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / xsp / System / Web / Extensions / Util / Pair.cs / 2 / 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
- SmtpMail.cs
- HotCommands.cs
- FrameworkContentElementAutomationPeer.cs
- DataServiceConfiguration.cs
- ProfileParameter.cs
- ItemCollection.cs
- OrthographicCamera.cs
- AddIn.cs
- XPathBuilder.cs
- GPPOINT.cs
- StringWriter.cs
- XmlAttributes.cs
- ReadOnlyDictionary.cs
- AnyAllSearchOperator.cs
- StringHelper.cs
- XamlSerializerUtil.cs
- xmlsaver.cs
- HttpRuntime.cs
- PackageRelationship.cs
- ControlEvent.cs
- SecurityKeyIdentifierClause.cs
- ParameterModifier.cs
- ProviderIncompatibleException.cs
- _OverlappedAsyncResult.cs
- SmtpMail.cs
- EncoderExceptionFallback.cs
- AdjustableArrowCap.cs
- BindingWorker.cs
- RequiredFieldValidator.cs
- MgmtConfigurationRecord.cs
- EntityContainer.cs
- ActionFrame.cs
- ScriptModule.cs
- Section.cs
- RequestStatusBarUpdateEventArgs.cs
- MeasureItemEvent.cs
- xdrvalidator.cs
- ChangePasswordAutoFormat.cs
- DropShadowBitmapEffect.cs
- DeploymentSectionCache.cs
- ListenerBinder.cs
- WebColorConverter.cs
- PersonalizationProviderCollection.cs
- IgnoreFlushAndCloseStream.cs
- _ProxyChain.cs
- InitializerFacet.cs
- AsymmetricKeyExchangeFormatter.cs
- TimeoutValidationAttribute.cs
- FrameDimension.cs
- Hex.cs
- FlowDocumentReader.cs
- WebPartZone.cs
- Window.cs
- CodeSnippetStatement.cs
- ServiceKnownTypeAttribute.cs
- RelationshipNavigation.cs
- SpnEndpointIdentity.cs
- AsynchronousChannel.cs
- ColumnHeader.cs
- WebBrowserUriTypeConverter.cs
- RolePrincipal.cs
- HttpValueCollection.cs
- SqlMetaData.cs
- X509KeyIdentifierClauseType.cs
- SynchronousChannel.cs
- SectionUpdates.cs
- AssociatedControlConverter.cs
- XmlCharCheckingReader.cs
- FontStyle.cs
- NumberSubstitution.cs
- ScriptIgnoreAttribute.cs
- AnimationClockResource.cs
- MultiView.cs
- SourceInterpreter.cs
- SortExpressionBuilder.cs
- XamlUtilities.cs
- TrustLevelCollection.cs
- SafeRegistryHandle.cs
- uribuilder.cs
- Triplet.cs
- SpotLight.cs
- PackageProperties.cs
- VersionValidator.cs
- DateTimeValueSerializerContext.cs
- GeometryHitTestResult.cs
- FragmentNavigationEventArgs.cs
- ActivityExecutor.cs
- HyperLinkField.cs
- HyperLinkColumn.cs
- OpCopier.cs
- PolicyManager.cs
- FileClassifier.cs
- ObjectConverter.cs
- BufferedGraphicsManager.cs
- WindowsTab.cs
- DesignerVerbCollection.cs
- ControlIdConverter.cs
- COM2EnumConverter.cs
- NullableIntAverageAggregationOperator.cs
- AssemblyHelper.cs