Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / ndp / fx / src / DataEntity / System / Data / Common / Utils / Pair.cs / 1 / 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.
//----------------------------------------------------------------------
//
// 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
- DispatchChannelSink.cs
- DataGridItem.cs
- ToolStripPanelRenderEventArgs.cs
- TextMetrics.cs
- MarkerProperties.cs
- followingsibling.cs
- SQLInt32Storage.cs
- SiteMapNodeItemEventArgs.cs
- ValidationRule.cs
- Documentation.cs
- URLMembershipCondition.cs
- ClosableStream.cs
- TypeDescriptionProviderAttribute.cs
- HostExecutionContextManager.cs
- FlowDocument.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- ReadOnlyDictionary.cs
- XmlArrayItemAttributes.cs
- BroadcastEventHelper.cs
- LoginCancelEventArgs.cs
- FactoryMaker.cs
- LinqToSqlWrapper.cs
- XmlIncludeAttribute.cs
- CharacterMetricsDictionary.cs
- BamlTreeMap.cs
- QueryAccessibilityHelpEvent.cs
- SuppressMessageAttribute.cs
- XslAstAnalyzer.cs
- XmlEntity.cs
- arclist.cs
- ComponentTray.cs
- TypeConverterBase.cs
- ISAPIApplicationHost.cs
- ScrollChrome.cs
- IncrementalCompileAnalyzer.cs
- InputProviderSite.cs
- UnsafeNativeMethods.cs
- EdgeModeValidation.cs
- RubberbandSelector.cs
- EntityTypeBase.cs
- XsltArgumentList.cs
- ProtocolsConfigurationEntry.cs
- HtmlImage.cs
- EmptyEnumerable.cs
- LocalBuilder.cs
- ReplacementText.cs
- Geometry.cs
- ChangesetResponse.cs
- CultureTable.cs
- PolygonHotSpot.cs
- LambdaSerializationException.cs
- FacetValueContainer.cs
- Attributes.cs
- TimeIntervalCollection.cs
- ActivityExecutionContextCollection.cs
- ConnectionStringSettings.cs
- AddressHeaderCollection.cs
- DetailsViewModeEventArgs.cs
- DockProviderWrapper.cs
- XamlClipboardData.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- BufferedReadStream.cs
- mediapermission.cs
- DependencyPropertyHelper.cs
- log.cs
- namescope.cs
- Matrix.cs
- PrincipalPermissionMode.cs
- ToolStripHighContrastRenderer.cs
- ArrayMergeHelper.cs
- EntityDataSourceStatementEditor.cs
- PolyQuadraticBezierSegment.cs
- CodePageEncoding.cs
- ListViewItemMouseHoverEvent.cs
- PeerConnector.cs
- OpenTypeCommon.cs
- ImageInfo.cs
- SqlDependencyListener.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- hwndwrapper.cs
- ConfigXmlComment.cs
- NumberFormatInfo.cs
- ColumnProvider.cs
- CodeLabeledStatement.cs
- GroupedContextMenuStrip.cs
- StreamingContext.cs
- RSAOAEPKeyExchangeDeformatter.cs
- IndexedEnumerable.cs
- EdmComplexTypeAttribute.cs
- MSAANativeProvider.cs
- input.cs
- InternalPermissions.cs
- PeerCollaborationPermission.cs
- UIAgentAsyncBeginRequest.cs
- IdnElement.cs
- Config.cs
- MethodAccessException.cs
- ReadOnlyHierarchicalDataSource.cs
- Util.cs
- filewebresponse.cs