Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / ndp / fx / src / xsp / System / Web / Extensions / Util / Tuple.cs / 2 / 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
- GenerateScriptTypeAttribute.cs
- SqlCommandBuilder.cs
- tibetanshape.cs
- WasHostedComPlusFactory.cs
- EventDescriptor.cs
- OperatingSystem.cs
- DuplicateWaitObjectException.cs
- Int16KeyFrameCollection.cs
- NameTable.cs
- ConvertersCollection.cs
- SubpageParagraph.cs
- NamespaceCollection.cs
- DateTimeHelper.cs
- GeneralTransform.cs
- ConstrainedDataObject.cs
- PropertyChange.cs
- IndexedEnumerable.cs
- Touch.cs
- ValidationEventArgs.cs
- HttpWebResponse.cs
- _ListenerRequestStream.cs
- TableDetailsCollection.cs
- Assert.cs
- ToolStripPanelSelectionGlyph.cs
- Input.cs
- TemplateField.cs
- Graphics.cs
- XmlnsDefinitionAttribute.cs
- CalloutQueueItem.cs
- ElementAction.cs
- HtmlInputSubmit.cs
- CodeDesigner.cs
- CompositeScriptReference.cs
- DeobfuscatingStream.cs
- WebPartDisplayModeEventArgs.cs
- Win32SafeHandles.cs
- ListBoxAutomationPeer.cs
- XmlAtomicValue.cs
- InputLanguage.cs
- Pkcs7Signer.cs
- TraceHandler.cs
- SynchronousChannelMergeEnumerator.cs
- BulletedListEventArgs.cs
- GroupJoinQueryOperator.cs
- RequiredFieldValidator.cs
- CodePageEncoding.cs
- MultiSelectRootGridEntry.cs
- PeerService.cs
- MediaElementAutomationPeer.cs
- ConfigXmlAttribute.cs
- StorageRoot.cs
- ByteAnimationBase.cs
- listitem.cs
- MetadataCacheItem.cs
- UidManager.cs
- Queue.cs
- RoleManagerModule.cs
- Ray3DHitTestResult.cs
- OdbcStatementHandle.cs
- CodeDomDesignerLoader.cs
- HttpConfigurationContext.cs
- PerformanceCounterNameAttribute.cs
- RemotingSurrogateSelector.cs
- ConsoleTraceListener.cs
- XmlSchemaObjectCollection.cs
- RankException.cs
- PersonalizablePropertyEntry.cs
- SecurityTraceRecordHelper.cs
- UriPrefixTable.cs
- RegexInterpreter.cs
- Helper.cs
- SequentialWorkflowRootDesigner.cs
- BufferModesCollection.cs
- CssClassPropertyAttribute.cs
- ToolStripItemClickedEventArgs.cs
- PersonalizableTypeEntry.cs
- StrokeCollectionDefaultValueFactory.cs
- Vector3dCollection.cs
- TextSpanModifier.cs
- Point4D.cs
- XmlSchemaSimpleContentExtension.cs
- Misc.cs
- PathBox.cs
- SystemIPInterfaceProperties.cs
- MarshalDirectiveException.cs
- RelatedPropertyManager.cs
- NameValuePair.cs
- EncryptedKeyIdentifierClause.cs
- CalendarDay.cs
- SqlBulkCopy.cs
- DataSourceBooleanViewSchemaConverter.cs
- VirtualizingPanel.cs
- StateInitializationDesigner.cs
- ShapingWorkspace.cs
- NavigationPropertySingletonExpression.cs
- InvalidAsynchronousStateException.cs
- TypedDataSetSchemaImporterExtension.cs
- IDReferencePropertyAttribute.cs
- ReturnType.cs
- EventSinkHelperWriter.cs