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
- DeclaredTypeElementCollection.cs
- ViewStateModeByIdAttribute.cs
- TdsRecordBufferSetter.cs
- ModelItemCollection.cs
- SocketAddress.cs
- SessionIDManager.cs
- TextBoxRenderer.cs
- DataStorage.cs
- autovalidator.cs
- DataGridViewCheckBoxColumn.cs
- HttpSysSettings.cs
- FontInfo.cs
- DockPattern.cs
- BridgeDataRecord.cs
- HttpModuleAction.cs
- GuidelineSet.cs
- DataBindingHandlerAttribute.cs
- ActivityMarkupSerializationProvider.cs
- RegexWorker.cs
- RequestTimeoutManager.cs
- SortedDictionary.cs
- HttpPostedFileWrapper.cs
- BindingBase.cs
- ThreadInterruptedException.cs
- TextEffect.cs
- ReceiveActivityDesignerTheme.cs
- ProcessProtocolHandler.cs
- ViewStateAttachedPropertyFeature.cs
- CacheChildrenQuery.cs
- DataView.cs
- ObservableCollectionDefaultValueFactory.cs
- XamlVector3DCollectionSerializer.cs
- StrongName.cs
- WinFormsSecurity.cs
- XmlIgnoreAttribute.cs
- PublisherMembershipCondition.cs
- ThreadAttributes.cs
- ToolStripOverflow.cs
- SHA256Cng.cs
- _ScatterGatherBuffers.cs
- Latin1Encoding.cs
- XmlNavigatorFilter.cs
- ProcessInfo.cs
- SqlDataSourceSelectingEventArgs.cs
- PropVariant.cs
- WinInet.cs
- GeometryValueSerializer.cs
- DependencyPropertyDescriptor.cs
- ImageUrlEditor.cs
- ElementAction.cs
- FixedSOMGroup.cs
- IpcClientChannel.cs
- MouseDevice.cs
- rsa.cs
- CanonicalFontFamilyReference.cs
- controlskin.cs
- DataSourceXmlSubItemAttribute.cs
- EndpointAddressMessageFilter.cs
- SaveFileDialog.cs
- FieldToken.cs
- DebugHandleTracker.cs
- SymbolMethod.cs
- ListSortDescriptionCollection.cs
- NamedPipeActivation.cs
- EntityModelSchemaGenerator.cs
- FloaterParaClient.cs
- TreeNodeClickEventArgs.cs
- CmsInterop.cs
- UriSection.cs
- WebPartChrome.cs
- HtmlFormWrapper.cs
- ImageBrush.cs
- Clipboard.cs
- ClosableStream.cs
- DataExpression.cs
- ConfigurationSectionGroupCollection.cs
- HttpRuntimeSection.cs
- FixedSOMPageConstructor.cs
- connectionpool.cs
- XPathQueryGenerator.cs
- SoapAttributeAttribute.cs
- CompilationSection.cs
- ComponentSerializationService.cs
- DoWorkEventArgs.cs
- XamlHostingSectionGroup.cs
- MetadataAssemblyHelper.cs
- DateTimeFormat.cs
- SQLSingle.cs
- AtomServiceDocumentSerializer.cs
- HtmlTable.cs
- HttpModuleCollection.cs
- UrlMapping.cs
- InvalidComObjectException.cs
- RelationshipEnd.cs
- BrowserCapabilitiesFactory.cs
- TextEditorCharacters.cs
- FlowDocumentScrollViewer.cs
- MimeFormatter.cs
- UxThemeWrapper.cs
- HttpListener.cs