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
- SocketInformation.cs
- HitTestWithGeometryDrawingContextWalker.cs
- TypeDescriptor.cs
- AppDomainFactory.cs
- SmtpAuthenticationManager.cs
- IdentityManager.cs
- CollectionEditVerbManager.cs
- DispatcherEventArgs.cs
- ToolStripPanel.cs
- Win32.cs
- HtmlInputButton.cs
- ListBoxAutomationPeer.cs
- DataGrid.cs
- TraceHandlerErrorFormatter.cs
- WebMessageEncodingElement.cs
- Camera.cs
- MonthChangedEventArgs.cs
- CompositeControl.cs
- InstanceLockException.cs
- AbstractSvcMapFileLoader.cs
- SimpleType.cs
- KnownBoxes.cs
- InfiniteTimeSpanConverter.cs
- SchemaElementDecl.cs
- IISUnsafeMethods.cs
- Avt.cs
- XmlSerializer.cs
- XPathSelectionIterator.cs
- ScrollItemProviderWrapper.cs
- SmiSettersStream.cs
- ToolStripContentPanelDesigner.cs
- ListDictionaryInternal.cs
- ProviderConnectionPointCollection.cs
- ListControlDesigner.cs
- OrderedDictionary.cs
- DataTableMapping.cs
- WorkflowDesigner.cs
- StrokeRenderer.cs
- FormViewDeleteEventArgs.cs
- XmlTypeMapping.cs
- WebPartMinimizeVerb.cs
- AdornerPresentationContext.cs
- BindableTemplateBuilder.cs
- EqualityComparer.cs
- ComponentGuaranteesAttribute.cs
- IConvertible.cs
- BaseParaClient.cs
- TimeSpanConverter.cs
- PersonalizableAttribute.cs
- SHA1CryptoServiceProvider.cs
- GlyphTypeface.cs
- TextBoxBase.cs
- EntityClientCacheEntry.cs
- XmlAggregates.cs
- KeyEventArgs.cs
- StatusBarPanel.cs
- ValueSerializerAttribute.cs
- Sentence.cs
- WebCategoryAttribute.cs
- SplitterCancelEvent.cs
- Visual.cs
- EmptyReadOnlyDictionaryInternal.cs
- AsymmetricAlgorithm.cs
- FtpRequestCacheValidator.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- IsolatedStorageFilePermission.cs
- mediaeventshelper.cs
- WorkflowOperationBehavior.cs
- InfoCardTrace.cs
- ConvertEvent.cs
- WindowsGraphics.cs
- ConsoleTraceListener.cs
- WebPartUtil.cs
- HybridObjectCache.cs
- BinaryUtilClasses.cs
- CheckBox.cs
- BamlVersionHeader.cs
- MemoryFailPoint.cs
- JavaScriptSerializer.cs
- PropagatorResult.cs
- SimpleBitVector32.cs
- PtsCache.cs
- HandlerMappingMemo.cs
- odbcmetadatafactory.cs
- WorkflowPageSetupDialog.cs
- BinaryParser.cs
- HtmlControlDesigner.cs
- DbCommandDefinition.cs
- NativeMethods.cs
- TcpChannelListener.cs
- NodeInfo.cs
- SafeUserTokenHandle.cs
- TextOptionsInternal.cs
- ClientClassGenerator.cs
- Operator.cs
- DataRecordInternal.cs
- SendKeys.cs
- NetCodeGroup.cs
- SqlDelegatedTransaction.cs
- AffineTransform3D.cs