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
- CodeNamespaceImportCollection.cs
- SqlStream.cs
- StorageEndPropertyMapping.cs
- ClientTargetSection.cs
- WebRequestModuleElement.cs
- FilterQuery.cs
- HostingEnvironmentSection.cs
- OrthographicCamera.cs
- EventArgs.cs
- CopyOnWriteList.cs
- SecurityTokenProviderContainer.cs
- AvTrace.cs
- WarningException.cs
- PerformanceCounterPermissionAttribute.cs
- TypedTableHandler.cs
- PrimitiveCodeDomSerializer.cs
- CacheRequest.cs
- CompositeActivityValidator.cs
- InvalidTimeZoneException.cs
- DBDataPermission.cs
- DiffuseMaterial.cs
- FontUnit.cs
- GetUserPreferenceRequest.cs
- filewebresponse.cs
- EnumConverter.cs
- BinaryObjectWriter.cs
- FormView.cs
- GB18030Encoding.cs
- PersonalizableTypeEntry.cs
- ToolStripSystemRenderer.cs
- CryptoConfig.cs
- ObjectItemConventionAssemblyLoader.cs
- RegexCharClass.cs
- SByteStorage.cs
- ReadContentAsBinaryHelper.cs
- ScrollEvent.cs
- BindToObject.cs
- JsonWriterDelegator.cs
- CLSCompliantAttribute.cs
- MDIClient.cs
- PrintDocument.cs
- ScriptResourceInfo.cs
- OdbcParameterCollection.cs
- Int32RectValueSerializer.cs
- StringDictionaryWithComparer.cs
- SourceInterpreter.cs
- CreateDataSourceDialog.cs
- ToolStripActionList.cs
- SiteMapProvider.cs
- Util.cs
- BoundingRectTracker.cs
- Attributes.cs
- oledbmetadatacollectionnames.cs
- DataGridViewImageCell.cs
- ReplyChannel.cs
- XmlExtensionFunction.cs
- PropertySourceInfo.cs
- CurrentTimeZone.cs
- DataTablePropertyDescriptor.cs
- ColumnResizeAdorner.cs
- DataGridViewCellStyleChangedEventArgs.cs
- ValidatorCompatibilityHelper.cs
- DefaultValueConverter.cs
- UnsafeNativeMethods.cs
- LingerOption.cs
- AttributeUsageAttribute.cs
- BevelBitmapEffect.cs
- FilterableAttribute.cs
- BufferModesCollection.cs
- XmlSerializerSection.cs
- CriticalHandle.cs
- ValidationSummary.cs
- MonitorWrapper.cs
- DBProviderConfigurationHandler.cs
- FileDataSourceCache.cs
- BasicCellRelation.cs
- GraphicsContext.cs
- AlternateViewCollection.cs
- AuthenticationService.cs
- PhysicalFontFamily.cs
- AssemblyBuilder.cs
- PopupControlService.cs
- FutureFactory.cs
- UserControlAutomationPeer.cs
- XmlSchemaAnyAttribute.cs
- SelectedDatesCollection.cs
- CopyAttributesAction.cs
- MenuItemStyleCollection.cs
- MD5CryptoServiceProvider.cs
- MarshalByValueComponent.cs
- XmlText.cs
- Coordinator.cs
- Types.cs
- XmlQueryRuntime.cs
- BrushValueSerializer.cs
- DockProviderWrapper.cs
- DecimalAnimation.cs
- ThemeableAttribute.cs
- EpmSyndicationContentDeSerializer.cs
- DynamicFilterExpression.cs