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
- RSAPKCS1SignatureFormatter.cs
- EntitySqlException.cs
- Asn1IntegerConverter.cs
- WebRequest.cs
- DataFormat.cs
- StreamUpdate.cs
- PeerName.cs
- Profiler.cs
- CompilerGeneratedAttribute.cs
- BooleanKeyFrameCollection.cs
- DataKey.cs
- StorageComplexTypeMapping.cs
- EmptyEnumerator.cs
- PropertyPushdownHelper.cs
- WmlTextViewAdapter.cs
- EllipticalNodeOperations.cs
- RoleServiceManager.cs
- UdpSocket.cs
- DoubleSumAggregationOperator.cs
- SQLDoubleStorage.cs
- BrowserCapabilitiesFactoryBase.cs
- RequiredAttributeAttribute.cs
- OpenFileDialog.cs
- SelectionEditor.cs
- ProfileSettings.cs
- DbConnectionClosed.cs
- PlainXmlSerializer.cs
- EmbeddedObject.cs
- ToolStripHighContrastRenderer.cs
- AudioFormatConverter.cs
- Int16Storage.cs
- CodeParameterDeclarationExpressionCollection.cs
- EdmScalarPropertyAttribute.cs
- XmlDeclaration.cs
- ProviderCommandInfoUtils.cs
- ThreadLocal.cs
- XamlTypeMapperSchemaContext.cs
- RubberbandSelector.cs
- StylusPlugInCollection.cs
- ProviderConnectionPoint.cs
- DriveNotFoundException.cs
- FormsAuthentication.cs
- ConfigXmlSignificantWhitespace.cs
- BuildProvidersCompiler.cs
- Error.cs
- MappedMetaModel.cs
- SequentialWorkflowHeaderFooter.cs
- Terminate.cs
- Variant.cs
- ProcessHostMapPath.cs
- MergeEnumerator.cs
- assemblycache.cs
- DecimalAnimation.cs
- SimpleHandlerFactory.cs
- XamlDesignerSerializationManager.cs
- BindingNavigator.cs
- ObjectStateEntry.cs
- AssemblyBuilder.cs
- Point3DAnimationUsingKeyFrames.cs
- Cursor.cs
- SecurityPermission.cs
- EntityDesignPluralizationHandler.cs
- StatusBarItem.cs
- PassportAuthentication.cs
- OrderedDictionary.cs
- ResourceAttributes.cs
- ShaderEffect.cs
- InputScopeAttribute.cs
- DbSource.cs
- AuthorizationSection.cs
- TdsRecordBufferSetter.cs
- FontDriver.cs
- HttpModuleActionCollection.cs
- DefaultProxySection.cs
- EntitySetBaseCollection.cs
- OrderedDictionary.cs
- RTLAwareMessageBox.cs
- CompositeKey.cs
- XPathChildIterator.cs
- HttpGetProtocolReflector.cs
- PasswordBoxAutomationPeer.cs
- ViewStateException.cs
- X509Certificate2Collection.cs
- NumericExpr.cs
- xmlfixedPageInfo.cs
- OrCondition.cs
- LoginDesignerUtil.cs
- XmlDataLoader.cs
- ProcessingInstructionAction.cs
- WpfXamlLoader.cs
- CommonDialog.cs
- ProxyHwnd.cs
- WindowsRegion.cs
- DeclarativeExpressionConditionDeclaration.cs
- Compiler.cs
- BitmapEffectInput.cs
- lengthconverter.cs
- XhtmlBasicCommandAdapter.cs
- ParserHooks.cs
- PathFigureCollection.cs