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
- XmlNotation.cs
- ZeroOpNode.cs
- ChangeConflicts.cs
- DispatcherEventArgs.cs
- DBBindings.cs
- DataGridViewSortCompareEventArgs.cs
- OrderedDictionary.cs
- SqlLiftWhereClauses.cs
- sqlnorm.cs
- UIElement3D.cs
- EntityDataSourceColumn.cs
- EntityCommandExecutionException.cs
- WebPartUserCapability.cs
- BitmapEffectInput.cs
- NodeFunctions.cs
- StringCollection.cs
- CompositeFontParser.cs
- VectorAnimation.cs
- SqlConnectionHelper.cs
- BuilderPropertyEntry.cs
- BindingExpression.cs
- QilSortKey.cs
- ExpressionEditor.cs
- HwndHost.cs
- SHA256Managed.cs
- ListBindingHelper.cs
- Utils.cs
- TextDecoration.cs
- ThumbAutomationPeer.cs
- ColumnMapTranslator.cs
- BrowserDefinitionCollection.cs
- TraceRecord.cs
- SerialStream.cs
- SafeArrayRankMismatchException.cs
- XmlNodeList.cs
- EDesignUtil.cs
- CollectionEditorDialog.cs
- Crc32Helper.cs
- Schema.cs
- RowCache.cs
- SpellerStatusTable.cs
- BitmapInitialize.cs
- SerialPort.cs
- DockingAttribute.cs
- ToolStripDropDownButton.cs
- DesignerSerializationManager.cs
- StatusBarPanel.cs
- ToolTip.cs
- ConfigXmlSignificantWhitespace.cs
- XmlDictionaryWriter.cs
- SignatureHelper.cs
- EntryIndex.cs
- SqlBuilder.cs
- ConditionalAttribute.cs
- LinqTreeNodeEvaluator.cs
- DoubleUtil.cs
- WebPartTransformer.cs
- LineSegment.cs
- SqlCommand.cs
- CommandID.cs
- WebBrowserEvent.cs
- LoadedEvent.cs
- PageThemeParser.cs
- StopStoryboard.cs
- UniqueEventHelper.cs
- NamespaceEmitter.cs
- BamlLocalizableResourceKey.cs
- ColumnMapProcessor.cs
- DictationGrammar.cs
- CommandValueSerializer.cs
- SqlDeflator.cs
- ObjectComplexPropertyMapping.cs
- TreeNode.cs
- FirstQueryOperator.cs
- Fonts.cs
- EpmContentSerializer.cs
- ImageIndexConverter.cs
- AnnotationAuthorChangedEventArgs.cs
- AssemblyAttributesGoHere.cs
- Label.cs
- AliasGenerator.cs
- CqlBlock.cs
- CrossSiteScriptingValidation.cs
- BrowserCapabilitiesCompiler.cs
- WizardSideBarListControlItem.cs
- ListItemsPage.cs
- DataTableReaderListener.cs
- Activation.cs
- XmlIgnoreAttribute.cs
- BooleanAnimationBase.cs
- LambdaCompiler.Logical.cs
- ErrorLog.cs
- SafeWaitHandle.cs
- DynamicDocumentPaginator.cs
- ContentTypeSettingClientMessageFormatter.cs
- SqlBulkCopyColumnMappingCollection.cs
- WebConfigManager.cs
- MenuItemStyleCollection.cs
- GcHandle.cs
- XpsS0ValidatingLoader.cs