Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / DataEntity / System / Data / Common / Utils / Pair.cs / 1305376 / Pair.cs
//---------------------------------------------------------------------- //// Copyright (c) Microsoft Corporation. All rights reserved. // // // @owner [....] // @backupOwner [....] //--------------------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using System.Text; using System.Diagnostics; using System.Linq; namespace System.Data.Common.Utils { internal class Pair: InternalBase { #region Fields private readonly TFirst first; private readonly TSecond second; #endregion #region Constructor internal Pair(TFirst first, TSecond second) { this.first = first; this.second = second; } #endregion #region Properties internal TFirst First { get { return first; } } internal TSecond Second { get { return second; } } #endregion #region Methods public override int GetHashCode() { return (first.GetHashCode()<<5) ^ second.GetHashCode(); } public bool Equals(Pair other) { return first.Equals(other.first) && second.Equals(other.second); } public override bool Equals(object other) { Pair otherPair = other as Pair ; return (otherPair != null && Equals(otherPair)); } #endregion #region InternalBase internal override void ToCompactString(StringBuilder builder) { builder.Append("<"); builder.Append(first.ToString()); builder.Append(", "+second.ToString()); builder.Append(">"); } #endregion internal class PairComparer : IEqualityComparer > { private PairComparer() { } internal static readonly PairComparer Instance = new PairComparer(); private static readonly EqualityComparer firstComparer = EqualityComparer .Default; private static readonly EqualityComparer secondComparer = EqualityComparer .Default; public bool Equals(Pair x, Pair y) { return firstComparer.Equals(x.First, y.First) && secondComparer.Equals(x.Second, y.Second); } public int GetHashCode(Pair source) { return source.GetHashCode(); } } } } // 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
- IFlowDocumentViewer.cs
- ResolveMatchesMessageCD1.cs
- ProviderIncompatibleException.cs
- SafeArrayRankMismatchException.cs
- PageThemeParser.cs
- OrderPreservingPipeliningSpoolingTask.cs
- WebPartZoneDesigner.cs
- ServiceModelStringsVersion1.cs
- ToolStripPanelRow.cs
- Attributes.cs
- VBCodeProvider.cs
- DoubleCollectionConverter.cs
- SqlTypesSchemaImporter.cs
- TemplateEditingFrame.cs
- DeflateStream.cs
- CollectionViewProxy.cs
- DocumentAutomationPeer.cs
- keycontainerpermission.cs
- HelloMessageApril2005.cs
- CachedFontFamily.cs
- GCHandleCookieTable.cs
- HtmlElementCollection.cs
- MessageQueuePermissionEntry.cs
- DataGridViewCellCancelEventArgs.cs
- Viewport3DAutomationPeer.cs
- PermissionSetEnumerator.cs
- VolatileEnlistmentState.cs
- SQLDecimalStorage.cs
- Point3DValueSerializer.cs
- SoapSchemaImporter.cs
- _AutoWebProxyScriptWrapper.cs
- URI.cs
- JsonByteArrayDataContract.cs
- RegexParser.cs
- X509ChainElement.cs
- TraceSection.cs
- SerializeAbsoluteContext.cs
- SafeUserTokenHandle.cs
- XmlQualifiedName.cs
- OperationPickerDialog.designer.cs
- Timer.cs
- COM2IProvidePropertyBuilderHandler.cs
- WebPartConnectionsCancelVerb.cs
- MaskedTextBox.cs
- OracleConnectionString.cs
- RoleService.cs
- BindToObject.cs
- GridEntry.cs
- ComplexLine.cs
- ping.cs
- SQLDouble.cs
- TableRow.cs
- CachedFontFamily.cs
- PerformanceCounters.cs
- WeakReadOnlyCollection.cs
- EntityContainerRelationshipSet.cs
- EntityCodeGenerator.cs
- BookmarkEventArgs.cs
- DashStyle.cs
- ApplicationServiceHelper.cs
- OracleTimeSpan.cs
- StreamInfo.cs
- TextFindEngine.cs
- SettingsPropertyNotFoundException.cs
- WebConfigurationHostFileChange.cs
- XmlIlTypeHelper.cs
- ToolboxComponentsCreatedEventArgs.cs
- ProtocolsConfigurationHandler.cs
- ExpressionBinding.cs
- CodeCommentStatementCollection.cs
- BinaryObjectInfo.cs
- HwndStylusInputProvider.cs
- ECDsaCng.cs
- XmlObjectSerializerReadContextComplex.cs
- InputReport.cs
- MimeBasePart.cs
- HostProtectionException.cs
- XmlSchemaSequence.cs
- Sql8ExpressionRewriter.cs
- SupportingTokenSpecification.cs
- StringSorter.cs
- PackageRelationship.cs
- StylusPlugin.cs
- BaseDataBoundControl.cs
- Slider.cs
- _FtpControlStream.cs
- AddInStore.cs
- WindowsTooltip.cs
- XmlExtensionFunction.cs
- DbFunctionCommandTree.cs
- WaitHandleCannotBeOpenedException.cs
- ObjectStateManagerMetadata.cs
- _AuthenticationState.cs
- WebPartConnectionsCloseVerb.cs
- UIPermission.cs
- URIFormatException.cs
- InplaceBitmapMetadataWriter.cs
- AppDomainProtocolHandler.cs
- CalendarKeyboardHelper.cs
- IndentedWriter.cs