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
- ToolStripItem.cs
- XmlSchemaObjectCollection.cs
- StatusBar.cs
- OptimizedTemplateContentHelper.cs
- columnmapfactory.cs
- MemoryResponseElement.cs
- Soap.cs
- MULTI_QI.cs
- PathData.cs
- FrameDimension.cs
- CodeCatchClause.cs
- HMAC.cs
- SingleConverter.cs
- PointKeyFrameCollection.cs
- MarshalByValueComponent.cs
- ToolStripItemBehavior.cs
- TCPClient.cs
- FunctionQuery.cs
- LinkedResourceCollection.cs
- RadioButton.cs
- HtmlInputRadioButton.cs
- StorageComplexPropertyMapping.cs
- sqlnorm.cs
- XPathDocumentBuilder.cs
- CopyOfAction.cs
- CheckBox.cs
- EntityStoreSchemaFilterEntry.cs
- HttpResponseInternalWrapper.cs
- ScrollChrome.cs
- InsufficientMemoryException.cs
- PageBreakRecord.cs
- MetadataSource.cs
- BrowserDefinitionCollection.cs
- XmlUnspecifiedAttribute.cs
- ItemList.cs
- ScriptHandlerFactory.cs
- TrustLevel.cs
- ExeConfigurationFileMap.cs
- EntityDataSourceDesigner.cs
- WorkflowOperationBehavior.cs
- Switch.cs
- SortKey.cs
- ConfigUtil.cs
- Page.cs
- ColumnMapTranslator.cs
- DelegateHelpers.cs
- ObjectDataProvider.cs
- TabPage.cs
- GacUtil.cs
- RequestNavigateEventArgs.cs
- ExpressionBindingsDialog.cs
- ExpressionBindingCollection.cs
- FormsAuthenticationUser.cs
- RowToFieldTransformer.cs
- ContextMenuStrip.cs
- storepermissionattribute.cs
- dsa.cs
- RectValueSerializer.cs
- BevelBitmapEffect.cs
- RMPermissions.cs
- TcpHostedTransportConfiguration.cs
- ItemsControl.cs
- DataGridViewButtonCell.cs
- XmlILOptimizerVisitor.cs
- ArgumentException.cs
- prompt.cs
- ExpressionBinding.cs
- EntityCommandDefinition.cs
- NativeCppClassAttribute.cs
- InlineCollection.cs
- StartUpEventArgs.cs
- WebRequest.cs
- X509Certificate.cs
- TableDetailsCollection.cs
- TextBox.cs
- ImageCodecInfoPrivate.cs
- Rect3D.cs
- WebPartConnectionsConfigureVerb.cs
- Polyline.cs
- SchemaContext.cs
- ListSortDescription.cs
- ViewPort3D.cs
- DetailsViewModeEventArgs.cs
- ToolStripArrowRenderEventArgs.cs
- WebConfigurationFileMap.cs
- SHA512.cs
- KeyBinding.cs
- TraceSection.cs
- SecureEnvironment.cs
- StringReader.cs
- HitTestResult.cs
- PrintingPermissionAttribute.cs
- BindingMemberInfo.cs
- DataBindingCollectionEditor.cs
- HWStack.cs
- HotSpot.cs
- EntityKey.cs
- XmlSerializableWriter.cs
- NonPrimarySelectionGlyph.cs
- ContextStack.cs