Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- NaturalLanguageHyphenator.cs
- COMException.cs
- SystemFonts.cs
- AutoGeneratedFieldProperties.cs
- InputEventArgs.cs
- MetadataItem.cs
- PolyLineSegment.cs
- ProcessManager.cs
- CountAggregationOperator.cs
- DataGridViewComboBoxCell.cs
- DEREncoding.cs
- CompositionTarget.cs
- InvalidPrinterException.cs
- COM2PropertyBuilderUITypeEditor.cs
- CodeSnippetStatement.cs
- CompilerHelpers.cs
- StaticSiteMapProvider.cs
- EntitySqlQueryBuilder.cs
- HandleExceptionArgs.cs
- XMLDiffLoader.cs
- ResponseBodyWriter.cs
- ProjectionPlanCompiler.cs
- ApplicationServicesHostFactory.cs
- ByeOperationAsyncResult.cs
- CqlParser.cs
- WebConfigurationHost.cs
- WebEventTraceProvider.cs
- WebPartDisplayModeEventArgs.cs
- SelectorItemAutomationPeer.cs
- SettingsProviderCollection.cs
- SystemIPInterfaceStatistics.cs
- PrePostDescendentsWalker.cs
- DesignerView.cs
- ConfigUtil.cs
- CodeVariableDeclarationStatement.cs
- WebPartExportVerb.cs
- BitmapVisualManager.cs
- MultiAsyncResult.cs
- Point3DAnimationUsingKeyFrames.cs
- TextBox.cs
- SchemaElementDecl.cs
- EventMemberCodeDomSerializer.cs
- HtmlInputRadioButton.cs
- NativeMethods.cs
- ObjectDisposedException.cs
- XmlSchemaNotation.cs
- DataBoundControl.cs
- AnnouncementSendsAsyncResult.cs
- NativeCppClassAttribute.cs
- EndGetFileNameFromUserRequest.cs
- DataColumnSelectionConverter.cs
- PointConverter.cs
- RequestQueryProcessor.cs
- ProtocolsConfigurationHandler.cs
- CodeDefaultValueExpression.cs
- WrappedIUnknown.cs
- ListControlConvertEventArgs.cs
- ScrollBarAutomationPeer.cs
- SpecularMaterial.cs
- XPathScanner.cs
- TypeProvider.cs
- ApplicationSecurityInfo.cs
- Memoizer.cs
- ExpressionContext.cs
- validationstate.cs
- DataGridViewTextBoxCell.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- ActivationServices.cs
- WindowsBrush.cs
- InitializationEventAttribute.cs
- WebServiceEnumData.cs
- SiteMap.cs
- SqlEnums.cs
- GeometryCollection.cs
- TiffBitmapDecoder.cs
- ControlUtil.cs
- ControlAdapter.cs
- WorkflowEventArgs.cs
- LayoutTable.cs
- AnnotationComponentManager.cs
- XmlBoundElement.cs
- TemplateControl.cs
- SiteMap.cs
- TextViewSelectionProcessor.cs
- EntityDataSourceState.cs
- ScriptBehaviorDescriptor.cs
- ProfileGroupSettings.cs
- WebBrowserDocumentCompletedEventHandler.cs
- ControlBuilder.cs
- KeysConverter.cs
- XmlIlTypeHelper.cs
- FontEmbeddingManager.cs
- SqlConnectionStringBuilder.cs
- StaticFileHandler.cs
- CodeLabeledStatement.cs
- StorageEndPropertyMapping.cs
- RouteData.cs
- Boolean.cs
- TypeLibraryHelper.cs
- ApplicationId.cs