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
- PersonalizableAttribute.cs
- ArrangedElement.cs
- AnnotationAuthorChangedEventArgs.cs
- RectangleGeometry.cs
- FlatButtonAppearance.cs
- CustomAttributeSerializer.cs
- ServiceParser.cs
- InternalPermissions.cs
- ProviderMetadata.cs
- HttpVersion.cs
- ConfigurationFileMap.cs
- ResourceManager.cs
- DynamicMethod.cs
- ZipIOExtraFieldElement.cs
- SelectorItemAutomationPeer.cs
- UpdateTracker.cs
- figurelengthconverter.cs
- AmbientProperties.cs
- SafeFileMappingHandle.cs
- OptimalBreakSession.cs
- TransactedReceiveData.cs
- ConfigurationManagerInternalFactory.cs
- FieldTemplateFactory.cs
- Tag.cs
- SmtpMail.cs
- FontNamesConverter.cs
- SystemEvents.cs
- XPathArrayIterator.cs
- MediaCommands.cs
- InlineUIContainer.cs
- ContentOperations.cs
- AnnouncementInnerClientCD1.cs
- ElapsedEventArgs.cs
- _NativeSSPI.cs
- VideoDrawing.cs
- SetterBaseCollection.cs
- AnnotationService.cs
- ContainerFilterService.cs
- _AcceptOverlappedAsyncResult.cs
- TypeSystemProvider.cs
- Authorization.cs
- HostSecurityManager.cs
- recordstatefactory.cs
- ResourceWriter.cs
- TableLayoutStyle.cs
- DbTransaction.cs
- SharedUtils.cs
- KeyGestureValueSerializer.cs
- SafeArrayRankMismatchException.cs
- FolderLevelBuildProviderCollection.cs
- DataBindingCollection.cs
- TrustVersion.cs
- PropertyGridView.cs
- StickyNote.cs
- SerializableAttribute.cs
- TimelineCollection.cs
- Subtree.cs
- PenContexts.cs
- ErrorReporting.cs
- XmlTextEncoder.cs
- LockedAssemblyCache.cs
- InvokePattern.cs
- WSFederationHttpSecurityMode.cs
- SqlClientFactory.cs
- HMACSHA384.cs
- DataContract.cs
- MetadataItem_Static.cs
- SignatureHelper.cs
- _HTTPDateParse.cs
- EmptyControlCollection.cs
- LinqDataSourceSelectEventArgs.cs
- PointLight.cs
- SoapUnknownHeader.cs
- TableCellsCollectionEditor.cs
- LineServices.cs
- ControlUtil.cs
- StaticContext.cs
- WindowsScrollBarBits.cs
- CollectionView.cs
- GridViewColumnCollectionChangedEventArgs.cs
- SupportingTokenAuthenticatorSpecification.cs
- SmiEventSink.cs
- SecurityDocument.cs
- ServiceOperationInvoker.cs
- followingsibling.cs
- FreezableOperations.cs
- ColorEditor.cs
- MimePart.cs
- DataColumnChangeEvent.cs
- IdentifierService.cs
- ElementProxy.cs
- StreamResourceInfo.cs
- WorkflowItemsPresenter.cs
- XmlNamespaceDeclarationsAttribute.cs
- FormatControl.cs
- EntityTypeEmitter.cs
- TranslateTransform.cs
- SystemResources.cs
- recordstatescratchpad.cs
- OdbcConnection.cs