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
- SqlNode.cs
- ContentOperations.cs
- WindowsSecurityToken.cs
- DataGridHeaderBorder.cs
- DbProviderFactoriesConfigurationHandler.cs
- PropertySourceInfo.cs
- BackStopAuthenticationModule.cs
- CategoryNameCollection.cs
- TimeSpanOrInfiniteConverter.cs
- GridPatternIdentifiers.cs
- XmlSchemas.cs
- ThreadAbortException.cs
- XhtmlBasicValidationSummaryAdapter.cs
- FormsAuthenticationConfiguration.cs
- WebRequest.cs
- JoinElimination.cs
- IntegerValidatorAttribute.cs
- Line.cs
- GlobalizationAssembly.cs
- DataGridViewHitTestInfo.cs
- CompareValidator.cs
- WebPartTransformerCollection.cs
- MediaPlayer.cs
- StringDictionary.cs
- Clause.cs
- TextViewSelectionProcessor.cs
- ItemCollection.cs
- WSSecurityOneDotZeroSendSecurityHeader.cs
- PathFigure.cs
- OpacityConverter.cs
- LicFileLicenseProvider.cs
- TypeBinaryExpression.cs
- WebProxyScriptElement.cs
- SimpleHandlerFactory.cs
- ComponentResourceKey.cs
- TemplateXamlParser.cs
- AppDomainShutdownMonitor.cs
- XmlLanguage.cs
- DesignerSerializationVisibilityAttribute.cs
- IndentedWriter.cs
- SmtpLoginAuthenticationModule.cs
- WindowsToolbarAsMenu.cs
- DataTableNameHandler.cs
- AutoGeneratedFieldProperties.cs
- ArgumentException.cs
- ByteKeyFrameCollection.cs
- ParallelEnumerable.cs
- arclist.cs
- DaylightTime.cs
- EmbeddedObject.cs
- BypassElementCollection.cs
- ProofTokenCryptoHandle.cs
- HttpApplication.cs
- SingleAnimationUsingKeyFrames.cs
- HtmlEmptyTagControlBuilder.cs
- panel.cs
- TextElement.cs
- DataGridViewColumnCollectionEditor.cs
- ObjectListTitleAttribute.cs
- BaseValidatorDesigner.cs
- TransformCollection.cs
- OletxDependentTransaction.cs
- Misc.cs
- WorkflowMessageEventArgs.cs
- DataObjectEventArgs.cs
- InputBuffer.cs
- SourceLineInfo.cs
- RegexCharClass.cs
- EllipseGeometry.cs
- PointLight.cs
- RawStylusInputReport.cs
- DrawingServices.cs
- DataFieldConverter.cs
- ToolboxDataAttribute.cs
- ErrorStyle.cs
- CoTaskMemUnicodeSafeHandle.cs
- SafeFileMappingHandle.cs
- GlobalizationSection.cs
- DesignerActionMethodItem.cs
- QueryContinueDragEvent.cs
- OleDbFactory.cs
- DesignBindingConverter.cs
- SystemIPGlobalStatistics.cs
- ColumnPropertiesGroup.cs
- BinaryOperationBinder.cs
- KnownColorTable.cs
- ProfileSection.cs
- DataGridViewCellContextMenuStripNeededEventArgs.cs
- BaseParagraph.cs
- DropTarget.cs
- ChannelManager.cs
- ReferencedType.cs
- CryptoConfig.cs
- DataReceivedEventArgs.cs
- SoapFormatter.cs
- GeometryHitTestParameters.cs
- Margins.cs
- XmlIlTypeHelper.cs
- XmlSchemaImport.cs
- BaseCAMarshaler.cs