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
- ToolStripPanelCell.cs
- ControllableStoryboardAction.cs
- WeakReference.cs
- QuaternionRotation3D.cs
- ActivityStatusChangeEventArgs.cs
- DrawingContextWalker.cs
- PrinterUnitConvert.cs
- DataKeyArray.cs
- AsyncContentLoadedEventArgs.cs
- DecoderFallback.cs
- Size3D.cs
- errorpatternmatcher.cs
- Transform.cs
- BindingNavigator.cs
- PackagingUtilities.cs
- XmlNodeComparer.cs
- XmlDomTextWriter.cs
- PassportPrincipal.cs
- TimelineClockCollection.cs
- MouseDevice.cs
- SamlAttribute.cs
- NullableIntMinMaxAggregationOperator.cs
- SqlReferenceCollection.cs
- SubclassTypeValidator.cs
- ApplicationId.cs
- Collection.cs
- BitmapEffectInputConnector.cs
- ValueQuery.cs
- TimeSpan.cs
- TypeConverterHelper.cs
- UiaCoreProviderApi.cs
- ReflectionPermission.cs
- MarshalByRefObject.cs
- ImageCodecInfo.cs
- CompatibleIComparer.cs
- Operators.cs
- XmlSerializationGeneratedCode.cs
- _ScatterGatherBuffers.cs
- WebPartCatalogAddVerb.cs
- DoubleCollectionValueSerializer.cs
- HttpClientCertificate.cs
- Calendar.cs
- ThemeInfoAttribute.cs
- XmlDataSourceView.cs
- LayoutTableCell.cs
- WmpBitmapEncoder.cs
- ExpressionPrinter.cs
- FixedMaxHeap.cs
- SharedRuntimeState.cs
- WebPartsPersonalizationAuthorization.cs
- InstanceContext.cs
- WebPartDescription.cs
- Command.cs
- AnimationClock.cs
- ModifiableIteratorCollection.cs
- TreeView.cs
- SizeAnimationUsingKeyFrames.cs
- StorageFunctionMapping.cs
- CodePageEncoding.cs
- CustomPopupPlacement.cs
- XmlDataSourceView.cs
- RegexCharClass.cs
- DataGridViewImageCell.cs
- StylusPointPropertyInfo.cs
- CommunicationObject.cs
- UrlMappingsSection.cs
- SelectingProviderEventArgs.cs
- CellLabel.cs
- RotationValidation.cs
- ListManagerBindingsCollection.cs
- RequestResizeEvent.cs
- MethodBody.cs
- GlyphingCache.cs
- Permission.cs
- ResXResourceSet.cs
- PathFigureCollectionConverter.cs
- PathGradientBrush.cs
- DeflateEmulationStream.cs
- HtmlEncodedRawTextWriter.cs
- IntSecurity.cs
- DefaultMemberAttribute.cs
- BoundColumn.cs
- OleDbCommandBuilder.cs
- DataColumn.cs
- LinearQuaternionKeyFrame.cs
- SqlCacheDependency.cs
- DirectoryNotFoundException.cs
- MobileFormsAuthentication.cs
- Hyperlink.cs
- CodeVariableDeclarationStatement.cs
- DynamicDiscoSearcher.cs
- VarRemapper.cs
- SiteOfOriginContainer.cs
- QilFunction.cs
- HideDisabledControlAdapter.cs
- IInstanceContextProvider.cs
- EnumBuilder.cs
- EventLogTraceListener.cs
- PreservationFileReader.cs
- IgnorePropertiesAttribute.cs