Code:
/ DotNET / DotNET / 8.0 / untmp / Orcas / RTM / ndp / fx / src / xsp / System / Web / Extensions / Util / Tuple.cs / 1 / Tuple.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.Util { using System; internal sealed class Tuple { private object[] _items; public Tuple(params object[] items) { _items = items; } public object this[int index] { get { return _items[index]; } } public override int GetHashCode() { if (_items.Length == 0) return 0; // This is the algorithm used in Whidbey to combine hashcodes. // It adheres better than a simple XOR to the randomness requirement for hashcodes. int hash = _items[0].GetHashCode(); for (int i = 1; i < _items.Length; i++) { hash = HashCodeCombiner.CombineHashCodes(hash, _items[i].GetHashCode()); } return hash; } public override bool Equals(object obj) { if (obj == null) return false; Tuple other = (Tuple)obj; if (other == this) return true; if ((other._items.Length != _items.Length)) return false; for (int i = 0; i < _items.Length; i++) { if (!other[i].Equals(this[i])) return false; } return true; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- EnterpriseServicesHelper.cs
- DataGridViewButtonCell.cs
- TreeViewDataItemAutomationPeer.cs
- ComplexTypeEmitter.cs
- RuntimeResourceSet.cs
- HttpListenerResponse.cs
- ResourceFallbackManager.cs
- LogReservationCollection.cs
- BamlLocalizer.cs
- TypeSchema.cs
- LongMinMaxAggregationOperator.cs
- DesignerActionService.cs
- ProcessHostConfigUtils.cs
- Content.cs
- SignalGate.cs
- ComplexBindingPropertiesAttribute.cs
- PerformanceCounterCategory.cs
- MetadataException.cs
- CorrelationManager.cs
- EventLogPermissionEntry.cs
- WebPartHelpVerb.cs
- RectangleConverter.cs
- EntityParameterCollection.cs
- DataSourceSelectArguments.cs
- PermissionSetTriple.cs
- FileLogRecordEnumerator.cs
- PackagePartCollection.cs
- AutomationTextAttribute.cs
- CompiledIdentityConstraint.cs
- ClaimComparer.cs
- RPIdentityRequirement.cs
- ServiceReflector.cs
- LogReserveAndAppendState.cs
- GeometryCollection.cs
- FtpRequestCacheValidator.cs
- SessionStateItemCollection.cs
- FrameworkElementAutomationPeer.cs
- httpapplicationstate.cs
- TransformConverter.cs
- DesignerListAdapter.cs
- ToolStripOverflow.cs
- SourceSwitch.cs
- HttpResponseHeader.cs
- LocalIdKeyIdentifierClause.cs
- URLEditor.cs
- ErrorView.xaml.cs
- TextChangedEventArgs.cs
- XmlNodeComparer.cs
- ProfileService.cs
- _TimerThread.cs
- CodeParameterDeclarationExpression.cs
- RtfControls.cs
- SimpleType.cs
- Package.cs
- GeometryGroup.cs
- UnknownWrapper.cs
- MergeLocalizationDirectives.cs
- GridView.cs
- BaseProcessProtocolHandler.cs
- WorkflowLayouts.cs
- Freezable.cs
- SplitterEvent.cs
- SafeEventLogWriteHandle.cs
- RubberbandSelector.cs
- OdbcInfoMessageEvent.cs
- CriticalHandle.cs
- ContextMenuService.cs
- SqlUtils.cs
- DrawingImage.cs
- XdrBuilder.cs
- ResponseBodyWriter.cs
- Splitter.cs
- DispatcherTimer.cs
- SystemSounds.cs
- DataSourceSelectArguments.cs
- DataServiceQueryOfT.cs
- FieldToken.cs
- RecognizedPhrase.cs
- DescriptionAttribute.cs
- EntityViewContainer.cs
- LinqToSqlWrapper.cs
- EntityDesignerBuildProvider.cs
- CopyCodeAction.cs
- BamlResourceSerializer.cs
- ProxyHwnd.cs
- WebContext.cs
- GACMembershipCondition.cs
- ExceptionUtil.cs
- SHA384Managed.cs
- XMLDiffLoader.cs
- HtmlHead.cs
- SiteMapNodeCollection.cs
- DataColumnMappingCollection.cs
- ImageListStreamer.cs
- ControlType.cs
- ContainerSelectorGlyph.cs
- ProfileManager.cs
- FixUpCollection.cs
- CompModHelpers.cs
- BitmapEffectInput.cs