Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Extensions / Util / Tuple.cs / 1305376 / 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; HashCodeCombiner combiner = new HashCodeCombiner(); for (int i = 0; i < _items.Length; i++) { combiner.AddObject(_items[i]); } return combiner.CombinedHash32; } 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. // //----------------------------------------------------------------------------- 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; HashCodeCombiner combiner = new HashCodeCombiner(); for (int i = 0; i < _items.Length; i++) { combiner.AddObject(_items[i]); } return combiner.CombinedHash32; } 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XamlReaderHelper.cs
- UnmanagedHandle.cs
- ImageField.cs
- EnumUnknown.cs
- XmlChildNodes.cs
- ObjectDataProvider.cs
- GridViewRowCollection.cs
- SHA1CryptoServiceProvider.cs
- CodeDefaultValueExpression.cs
- RecordBuilder.cs
- EventManager.cs
- SchemaMapping.cs
- TwoPhaseCommit.cs
- Lock.cs
- FileDetails.cs
- ResolveCriteria.cs
- CompoundFileIOPermission.cs
- UITypeEditor.cs
- IDQuery.cs
- QueryValue.cs
- XsdValidatingReader.cs
- TemplatedWizardStep.cs
- SqlConnection.cs
- BamlRecordReader.cs
- TableStyle.cs
- ContextMenu.cs
- WMICapabilities.cs
- SizeConverter.cs
- _SafeNetHandles.cs
- SocketPermission.cs
- Token.cs
- RolePrincipal.cs
- ByteStack.cs
- COM2DataTypeToManagedDataTypeConverter.cs
- GenericIdentity.cs
- XmlDownloadManager.cs
- DeferredRunTextReference.cs
- TimeManager.cs
- ControlPaint.cs
- DateTimeFormatInfo.cs
- AddingNewEventArgs.cs
- ListItemConverter.cs
- PathGeometry.cs
- SettingsAttributeDictionary.cs
- ToolStripSplitStackLayout.cs
- autovalidator.cs
- HttpServerVarsCollection.cs
- RenderingEventArgs.cs
- MenuItemStyle.cs
- BamlBinaryWriter.cs
- SchemaDeclBase.cs
- DocumentApplication.cs
- DataGridRelationshipRow.cs
- ReaderContextStackData.cs
- DefaultAsyncDataDispatcher.cs
- IDQuery.cs
- EnumValidator.cs
- TailCallAnalyzer.cs
- RequestSecurityToken.cs
- IPPacketInformation.cs
- Aes.cs
- MsmqIntegrationAppDomainProtocolHandler.cs
- ToolStripItemTextRenderEventArgs.cs
- CompressStream.cs
- Vertex.cs
- CheckBoxList.cs
- TextElement.cs
- GeneralTransform3DCollection.cs
- InputDevice.cs
- VerificationException.cs
- FormatException.cs
- RegexMatchCollection.cs
- CommandBinding.cs
- WorkflowQueueInfo.cs
- ConfigurationLocation.cs
- PropertyPath.cs
- PictureBox.cs
- DistributedTransactionPermission.cs
- PagerSettings.cs
- SelectionRangeConverter.cs
- HttpAsyncResult.cs
- BuildTopDownAttribute.cs
- XmlSchemaSimpleContentExtension.cs
- MessageQueuePermission.cs
- IteratorFilter.cs
- CodeIdentifiers.cs
- GcSettings.cs
- BitmapEncoder.cs
- SingleResultAttribute.cs
- FontFamily.cs
- TabControlAutomationPeer.cs
- TrackingProfileCache.cs
- FacetDescriptionElement.cs
- FixedSchema.cs
- ASCIIEncoding.cs
- PathTooLongException.cs
- EditorPart.cs
- CallbackValidatorAttribute.cs
- SID.cs
- DynamicMethod.cs