Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- DataTable.cs
- MimeReflector.cs
- AtomEntry.cs
- IUnknownConstantAttribute.cs
- SQLBytes.cs
- StandardToolWindows.cs
- CapabilitiesPattern.cs
- ObjectItemAssemblyLoader.cs
- Compiler.cs
- UpDownBase.cs
- DelegatedStream.cs
- AsyncOperationManager.cs
- EncryptedHeaderXml.cs
- PropertyItem.cs
- MemoryMappedViewStream.cs
- Lease.cs
- UTF32Encoding.cs
- EmptyControlCollection.cs
- ColumnMapVisitor.cs
- CompositionTarget.cs
- DBSqlParserColumn.cs
- X509Certificate2.cs
- SqlTypesSchemaImporter.cs
- Assembly.cs
- TableRowCollection.cs
- AuthorizationRuleCollection.cs
- ActionFrame.cs
- JavaScriptSerializer.cs
- DbParameterCollectionHelper.cs
- TextEffect.cs
- LineGeometry.cs
- FileSystemEventArgs.cs
- EntityConnectionStringBuilderItem.cs
- ping.cs
- BoolExpressionVisitors.cs
- VectorConverter.cs
- CleanUpVirtualizedItemEventArgs.cs
- ResponseBodyWriter.cs
- datacache.cs
- Shape.cs
- SolidBrush.cs
- Literal.cs
- PeerObject.cs
- TileBrush.cs
- DefaultParameterValueAttribute.cs
- TypeProvider.cs
- Method.cs
- ZipIOFileItemStream.cs
- CryptoProvider.cs
- EmptyCollection.cs
- AppDomainManager.cs
- KeyValueSerializer.cs
- NotificationContext.cs
- SchemaCollectionCompiler.cs
- NamespaceCollection.cs
- FilterQuery.cs
- SmiContext.cs
- DesignerDataColumn.cs
- DataTransferEventArgs.cs
- XmlDownloadManager.cs
- ReadOnlyDataSource.cs
- DocumentSequence.cs
- CapabilitiesSection.cs
- BoundConstants.cs
- SqlUserDefinedAggregateAttribute.cs
- MessageSmuggler.cs
- Control.cs
- IdentityReference.cs
- WebBrowserContainer.cs
- Pts.cs
- SplineKeyFrames.cs
- DynamicEndpointElement.cs
- ExpressionTextBox.xaml.cs
- dtdvalidator.cs
- ISessionStateStore.cs
- Compilation.cs
- FeatureSupport.cs
- AnimationLayer.cs
- SafeSecurityHandles.cs
- ToolStripPanelDesigner.cs
- ListSourceHelper.cs
- AliasedSlot.cs
- MenuItemBinding.cs
- BuildResult.cs
- DeviceContexts.cs
- DefaultBindingPropertyAttribute.cs
- EntityDataSourceWrapperCollection.cs
- SymbolType.cs
- Translator.cs
- SystemTcpConnection.cs
- FixedFindEngine.cs
- SqlUserDefinedAggregateAttribute.cs
- ExtendedProtectionPolicy.cs
- DataTableCollection.cs
- XsdBuildProvider.cs
- NetStream.cs
- UrlPath.cs
- EventMappingSettingsCollection.cs
- ItemType.cs
- ToolStripOverflow.cs