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
- Thumb.cs
- keycontainerpermission.cs
- PublisherMembershipCondition.cs
- PropertyConverter.cs
- Nullable.cs
- ProtectedProviderSettings.cs
- ActivityXamlServices.cs
- EnumUnknown.cs
- WebResponse.cs
- XPathChildIterator.cs
- RadioButtonBaseAdapter.cs
- FactoryGenerator.cs
- HttpWrapper.cs
- EntityDesignerUtils.cs
- RefreshEventArgs.cs
- ReaderOutput.cs
- EntityTypeEmitter.cs
- ToolStripPanelCell.cs
- SoapSchemaMember.cs
- HttpCookie.cs
- HealthMonitoringSection.cs
- DropDownHolder.cs
- AppSettingsReader.cs
- OleDbPermission.cs
- ObjectStateManager.cs
- ConnectionManagementElementCollection.cs
- SplineKeyFrames.cs
- Int16Converter.cs
- _TimerThread.cs
- SchemaCollectionPreprocessor.cs
- PagedDataSource.cs
- UnhandledExceptionEventArgs.cs
- FirstMatchCodeGroup.cs
- CompleteWizardStep.cs
- Privilege.cs
- Msmq4PoisonHandler.cs
- ProxyWebPartConnectionCollection.cs
- TabItemAutomationPeer.cs
- ControlBindingsConverter.cs
- DataGrid.cs
- AuthenticationConfig.cs
- MethodCallTranslator.cs
- EncoderFallback.cs
- WebServiceClientProxyGenerator.cs
- MimeBasePart.cs
- HttpBrowserCapabilitiesWrapper.cs
- CodeSnippetTypeMember.cs
- MatrixTransform3D.cs
- SoapAttributeOverrides.cs
- SerializationException.cs
- ErrorRuntimeConfig.cs
- DataViewManagerListItemTypeDescriptor.cs
- CompoundFileStorageReference.cs
- SynchronizedDispatch.cs
- ListViewItem.cs
- Component.cs
- ProcessManager.cs
- odbcmetadatafactory.cs
- KeyFrames.cs
- TimeSpan.cs
- ClientConfigurationSystem.cs
- Parser.cs
- PropertyEntry.cs
- XmlValueConverter.cs
- CacheEntry.cs
- BitmapEffect.cs
- ConfigurationValidatorBase.cs
- OpenFileDialog.cs
- ClassImporter.cs
- __FastResourceComparer.cs
- DataRow.cs
- CollectionViewGroupInternal.cs
- PageWrapper.cs
- CommonDialog.cs
- StyleXamlParser.cs
- DiagnosticTrace.cs
- RNGCryptoServiceProvider.cs
- StandardCommands.cs
- PingOptions.cs
- TypeDescriptor.cs
- TracePayload.cs
- Rectangle.cs
- EditingCoordinator.cs
- StylusPointDescription.cs
- ObjectTokenCategory.cs
- TextRunCache.cs
- OleDbException.cs
- XmlSchemaComplexContentRestriction.cs
- AtomicFile.cs
- RectAnimation.cs
- ActivityTypeResolver.xaml.cs
- XmlArrayItemAttribute.cs
- SocketConnection.cs
- PolicyReader.cs
- InstanceKeyCollisionException.cs
- KeyTimeConverter.cs
- SafeNativeMethods.cs
- ReadOnlyHierarchicalDataSource.cs
- ShaderEffect.cs
- DodSequenceMerge.cs