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
- WSHttpBinding.cs
- Assert.cs
- ImageFormatConverter.cs
- HtmlInputPassword.cs
- FilterQuery.cs
- TextControl.cs
- ConnectionManagementSection.cs
- HwndHost.cs
- ApplicationHost.cs
- TreeViewImageKeyConverter.cs
- ManifestResourceInfo.cs
- TreeNodeConverter.cs
- Adorner.cs
- Certificate.cs
- SqlConnectionHelper.cs
- FontFamilyConverter.cs
- DBPropSet.cs
- NonVisualControlAttribute.cs
- Cursors.cs
- DataTablePropertyDescriptor.cs
- EntitySqlException.cs
- EditorPartChrome.cs
- DataGridItemCollection.cs
- MissingSatelliteAssemblyException.cs
- ContourSegment.cs
- EncoderParameter.cs
- EdmPropertyAttribute.cs
- DoubleAnimationUsingPath.cs
- SerializationUtilities.cs
- MarshalByRefObject.cs
- WebOperationContext.cs
- XPathDescendantIterator.cs
- ResourceReferenceExpressionConverter.cs
- ToolStripLocationCancelEventArgs.cs
- MimeTypeMapper.cs
- XmlReaderDelegator.cs
- UInt64Storage.cs
- LinkArea.cs
- CodeStatement.cs
- SatelliteContractVersionAttribute.cs
- ViewLoader.cs
- ExpressionNode.cs
- SoapSchemaMember.cs
- BindingExpressionBase.cs
- BamlRecordHelper.cs
- TextLine.cs
- AudioStateChangedEventArgs.cs
- XPathNodePointer.cs
- TransformedBitmap.cs
- RelationshipConverter.cs
- X509ServiceCertificateAuthentication.cs
- AppSettingsExpressionBuilder.cs
- VisualStyleTypesAndProperties.cs
- ColorBlend.cs
- TextRunTypographyProperties.cs
- EntityClassGenerator.cs
- CancellableEnumerable.cs
- ImmutableObjectAttribute.cs
- ElementAction.cs
- MouseOverProperty.cs
- TypedDataSourceCodeGenerator.cs
- UnsafeNativeMethods.cs
- CachedPathData.cs
- Rule.cs
- TemplateXamlTreeBuilder.cs
- RequestBringIntoViewEventArgs.cs
- FileDataSourceCache.cs
- SystemNetHelpers.cs
- _LoggingObject.cs
- __ComObject.cs
- SyntaxCheck.cs
- SqlServices.cs
- ServiceContractViewControl.Designer.cs
- SiteMapDataSourceView.cs
- BookmarkInfo.cs
- ReachUIElementCollectionSerializer.cs
- ZipIOLocalFileHeader.cs
- Point4D.cs
- ConstraintStruct.cs
- securitycriticaldata.cs
- XmlSchemaSimpleTypeRestriction.cs
- SchemaInfo.cs
- ImageDrawing.cs
- ResourceLoader.cs
- FontEmbeddingManager.cs
- RewritingProcessor.cs
- XmlWrappingReader.cs
- XslAstAnalyzer.cs
- CriticalHandle.cs
- Mapping.cs
- filewebresponse.cs
- CodeTypeDeclaration.cs
- ContextDataSourceContextData.cs
- ExpandButtonVisibilityConverter.cs
- SemaphoreSlim.cs
- CodeIdentifier.cs
- DNS.cs
- InteropAutomationProvider.cs
- ProfileParameter.cs
- ObjectStateEntry.cs