Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- ObjectStateEntryDbUpdatableDataRecord.cs
- QueryInterceptorAttribute.cs
- XmlSchemaObject.cs
- CollectionChangedEventManager.cs
- ElementMarkupObject.cs
- ProxyGenerationError.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- TypeHelpers.cs
- DrawingGroupDrawingContext.cs
- SqlDataSourceSelectingEventArgs.cs
- SetUserPreferenceRequest.cs
- DbConnectionClosed.cs
- KnownIds.cs
- ActivationArguments.cs
- TransformConverter.cs
- ProtocolViolationException.cs
- DataIdProcessor.cs
- VectorAnimation.cs
- MobileComponentEditorPage.cs
- TimeoutHelper.cs
- SqlDeflator.cs
- SequenceQuery.cs
- XmlSubtreeReader.cs
- OptimalTextSource.cs
- NavigationCommands.cs
- XPathParser.cs
- StoreItemCollection.cs
- SoapClientProtocol.cs
- BufferedStream.cs
- PowerStatus.cs
- EntitySetDataBindingList.cs
- InputReportEventArgs.cs
- WsdlImporter.cs
- Binding.cs
- DocumentGridContextMenu.cs
- TraceXPathNavigator.cs
- OracleInfoMessageEventArgs.cs
- SchemaLookupTable.cs
- DataChangedEventManager.cs
- RectangleF.cs
- MetadataItemEmitter.cs
- VisualTreeHelper.cs
- PersonalizationProvider.cs
- PingReply.cs
- EntityKeyElement.cs
- odbcmetadatacollectionnames.cs
- Menu.cs
- InvokePattern.cs
- UnaryNode.cs
- IPGlobalProperties.cs
- CacheMode.cs
- QilReference.cs
- ClientTargetCollection.cs
- FolderNameEditor.cs
- FacetDescription.cs
- HTMLTextWriter.cs
- TableCell.cs
- TypeConverterHelper.cs
- ParameterBuilder.cs
- ImageConverter.cs
- SwitchCase.cs
- xdrvalidator.cs
- counter.cs
- ApplicationId.cs
- SubqueryRules.cs
- SiteMapPath.cs
- Activator.cs
- HttpListenerResponse.cs
- AspNetSynchronizationContext.cs
- InplaceBitmapMetadataWriter.cs
- SmiRequestExecutor.cs
- Message.cs
- WizardPanelChangingEventArgs.cs
- ExtendedTransformFactory.cs
- __Filters.cs
- TextTreeRootTextBlock.cs
- XmlValueConverter.cs
- MethodBuilder.cs
- ParenExpr.cs
- RewritingPass.cs
- ConfigurationManagerHelper.cs
- ResourceReferenceExpressionConverter.cs
- SqlClientFactory.cs
- XmlnsPrefixAttribute.cs
- DataGridViewSelectedCellCollection.cs
- QuadraticBezierSegment.cs
- Boolean.cs
- IncrementalReadDecoders.cs
- XmlSortKey.cs
- SQLInt64Storage.cs
- BuildProvider.cs
- Header.cs
- OdbcPermission.cs
- CounterCreationData.cs
- ValidateNames.cs
- FormsIdentity.cs
- WebPartConnectionsDisconnectVerb.cs
- PropertyMetadata.cs
- InProcStateClientManager.cs
- RequestResizeEvent.cs