Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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; 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
- AssertFilter.cs
- ExceptionTranslationTable.cs
- BezierSegment.cs
- StreamedWorkflowDefinitionContext.cs
- HttpProfileGroupBase.cs
- NotifyCollectionChangedEventArgs.cs
- InvokePatternIdentifiers.cs
- ServiceChannel.cs
- PrincipalPermission.cs
- TextParaLineResult.cs
- JournalEntry.cs
- Pair.cs
- EditorPartChrome.cs
- MenuItemBinding.cs
- DataGridViewColumnHeaderCell.cs
- SapiRecoContext.cs
- XmlSchemaFacet.cs
- NavigationCommands.cs
- ThemeDictionaryExtension.cs
- SimplePropertyEntry.cs
- ApplicationFileParser.cs
- StrongNameIdentityPermission.cs
- HiddenField.cs
- SiteOfOriginContainer.cs
- HandleCollector.cs
- NotificationContext.cs
- ConfigurationLocation.cs
- HotSpotCollection.cs
- XmlUTF8TextWriter.cs
- XmlAttributeCollection.cs
- ManipulationStartingEventArgs.cs
- PeerApplicationLaunchInfo.cs
- ChannelServices.cs
- util.cs
- TextTabProperties.cs
- VScrollBar.cs
- Regex.cs
- EnumConverter.cs
- ListBox.cs
- SystemIcmpV6Statistics.cs
- ArrayList.cs
- BuilderElements.cs
- RowParagraph.cs
- EncodingDataItem.cs
- PingOptions.cs
- PerfCounters.cs
- SqlConnectionPoolProviderInfo.cs
- InternalConfigEventArgs.cs
- ScrollItemPattern.cs
- CircleHotSpot.cs
- BuildManager.cs
- CommittableTransaction.cs
- AxImporter.cs
- StylusPointDescription.cs
- UpdateProgress.cs
- TextLineBreak.cs
- ScriptIgnoreAttribute.cs
- BamlBinaryReader.cs
- TextContainerChangedEventArgs.cs
- SqlAggregateChecker.cs
- AppDomainProtocolHandler.cs
- mda.cs
- ToolStripItemDataObject.cs
- EntityContainerEntitySet.cs
- XmlReflectionImporter.cs
- SessionStateSection.cs
- ArrayWithOffset.cs
- XPathDocumentNavigator.cs
- InvokeMethod.cs
- DesignTimeVisibleAttribute.cs
- InplaceBitmapMetadataWriter.cs
- GcHandle.cs
- WindowsSecurityToken.cs
- PermissionSet.cs
- WindowsImpersonationContext.cs
- DelegatingConfigHost.cs
- DivideByZeroException.cs
- Collection.cs
- CodeTypeReferenceCollection.cs
- SqlWriter.cs
- ProxyDataContractResolver.cs
- Decorator.cs
- ProfileGroupSettings.cs
- BindMarkupExtensionSerializer.cs
- RangeValuePattern.cs
- FieldInfo.cs
- FacetChecker.cs
- WebAdminConfigurationHelper.cs
- OdbcReferenceCollection.cs
- LinkLabelLinkClickedEvent.cs
- WeakReferenceKey.cs
- SchemaImporter.cs
- RowUpdatingEventArgs.cs
- WindowsSysHeader.cs
- TextAnchor.cs
- CommandEventArgs.cs
- ipaddressinformationcollection.cs
- XhtmlTextWriter.cs
- VirtualizedCellInfoCollection.cs
- VScrollBar.cs