Code:
/ 4.0 / 4.0 / 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. //---------------------------------------------------------------------- // // 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
- ContractListAdapter.cs
- HttpCacheVaryByContentEncodings.cs
- DocumentPageViewAutomationPeer.cs
- FixedTextBuilder.cs
- HttpConfigurationContext.cs
- Condition.cs
- ClientSponsor.cs
- ToolTipService.cs
- MessageHeaderException.cs
- NameSpaceEvent.cs
- FontDialog.cs
- ServiceBusyException.cs
- Options.cs
- UserControlAutomationPeer.cs
- ValueSerializer.cs
- GlyphShapingProperties.cs
- RemotingAttributes.cs
- ProxyAttribute.cs
- DateTimeConverter2.cs
- DesignerAdRotatorAdapter.cs
- PasswordBoxAutomationPeer.cs
- PropertyCollection.cs
- AncestorChangedEventArgs.cs
- IsolatedStorage.cs
- GeneralTransform3DCollection.cs
- GridViewDeletedEventArgs.cs
- TypefaceMap.cs
- dbenumerator.cs
- SHA1CryptoServiceProvider.cs
- XmlEncodedRawTextWriter.cs
- DiagnosticsConfiguration.cs
- PartialArray.cs
- StoreItemCollection.cs
- AuthorizationSection.cs
- InputElement.cs
- NetTcpBindingElement.cs
- MappingModelBuildProvider.cs
- PlainXmlSerializer.cs
- ImpersonateTokenRef.cs
- PerformanceCounterManager.cs
- XmlStreamNodeWriter.cs
- ScrollChrome.cs
- VirtualPathProvider.cs
- SrgsGrammarCompiler.cs
- EditorPartDesigner.cs
- PropertyIDSet.cs
- DesignerView.Commands.cs
- Block.cs
- DesignerTransaction.cs
- BaseCodePageEncoding.cs
- unitconverter.cs
- XsltQilFactory.cs
- TimeSpan.cs
- MessageBox.cs
- GridView.cs
- FontEmbeddingManager.cs
- CacheRequest.cs
- ComponentChangingEvent.cs
- Cursor.cs
- InlineUIContainer.cs
- _Rfc2616CacheValidators.cs
- AttachmentCollection.cs
- GeneralTransform3DGroup.cs
- InstanceCompleteException.cs
- RadioButton.cs
- InternalBase.cs
- DependencyObjectProvider.cs
- PrintPreviewControl.cs
- QilUnary.cs
- ProtocolsSection.cs
- ConfigurationSettings.cs
- ObfuscationAttribute.cs
- RedistVersionInfo.cs
- HitTestFilterBehavior.cs
- AppDomainEvidenceFactory.cs
- MeshGeometry3D.cs
- Inflater.cs
- WindowsClientCredential.cs
- ReferenceAssemblyAttribute.cs
- Hex.cs
- TextRenderer.cs
- arabicshape.cs
- BitVector32.cs
- QualificationDataItem.cs
- DependentList.cs
- MetadataCollection.cs
- InstanceView.cs
- SafeMemoryMappedFileHandle.cs
- SpinWait.cs
- TypeSystem.cs
- Collection.cs
- CustomPeerResolverService.cs
- List.cs
- SystemWebExtensionsSectionGroup.cs
- XmlWellformedWriter.cs
- CompilerErrorCollection.cs
- FreezableDefaultValueFactory.cs
- Control.cs
- CipherData.cs
- EntityCollectionChangedParams.cs