Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / System / Linq / Parallel / Enumerables / EmptyEnumerable.cs / 1305376 / EmptyEnumerable.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== // =+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+ // // EmptyEnumerable.cs // //[....] // // =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- using System.Collections; using System.Collections.Generic; namespace System.Linq.Parallel { ////// We occ----ionally need a no-op enumerator to stand-in when we don't have data left /// within a partition's data stream. These are simple enumerable and enumerator /// implementations that always and consistently yield no elements. /// ///internal class EmptyEnumerable : ParallelQuery { private EmptyEnumerable() : base(QuerySettings.Empty) { } // A singleton cached and shared among callers. private static EmptyEnumerable s_instance; private static EmptyEnumerator s_enumeratorInstance; internal static EmptyEnumerable Instance { get { if (s_instance == null) { // There is no need for thread safety here. s_instance = new EmptyEnumerable (); } return s_instance; } } public override IEnumerator GetEnumerator() { if (s_enumeratorInstance == null) { // There is no need for thread safety here. s_enumeratorInstance = new EmptyEnumerator (); } return s_enumeratorInstance; } } internal class EmptyEnumerator : QueryOperatorEnumerator , IEnumerator { internal override bool MoveNext(ref T currentElement, ref int currentKey) { return false; } // IEnumerator methods. public T Current { get { return default(T); } } object IEnumerator.Current { get { return null; } } public bool MoveNext() { return false; } void Collections.IEnumerator.Reset() { } } } // 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
- Soap12ServerProtocol.cs
- AmbiguousMatchException.cs
- IISMapPath.cs
- AuthorizationSection.cs
- ProxySimple.cs
- SQLInt64Storage.cs
- CompilationRelaxations.cs
- StrongNameIdentityPermission.cs
- DifferencingCollection.cs
- IdentitySection.cs
- WebBrowserUriTypeConverter.cs
- EventEntry.cs
- XmlSchemaImporter.cs
- FixedBufferAttribute.cs
- EmptyCollection.cs
- InvokePatternIdentifiers.cs
- ArrayWithOffset.cs
- DataGridViewColumnStateChangedEventArgs.cs
- UIElementParaClient.cs
- BitmapFrameEncode.cs
- ApplicationInfo.cs
- PropertyToken.cs
- HttpHandlerAction.cs
- DoubleLink.cs
- XmlSchemaSubstitutionGroup.cs
- TextServicesPropertyRanges.cs
- ChangeNode.cs
- QueryInterceptorAttribute.cs
- CustomErrorsSectionWrapper.cs
- TemplateNameScope.cs
- DoubleAnimation.cs
- WebPartCancelEventArgs.cs
- TableParaClient.cs
- XmlArrayAttribute.cs
- SecurityTokenReferenceStyle.cs
- GroupQuery.cs
- DbXmlEnabledProviderManifest.cs
- CounterCreationDataCollection.cs
- SmtpDigestAuthenticationModule.cs
- ButtonStandardAdapter.cs
- TextTreeRootTextBlock.cs
- TextAction.cs
- ArgumentException.cs
- ActionNotSupportedException.cs
- PolyBezierSegmentFigureLogic.cs
- QuadraticBezierSegment.cs
- TextSerializer.cs
- sortedlist.cs
- ScriptReferenceEventArgs.cs
- UndoManager.cs
- DBPropSet.cs
- Query.cs
- BevelBitmapEffect.cs
- UpdatePanelTriggerCollection.cs
- StoryFragments.cs
- MediaPlayerState.cs
- ResourceReferenceKeyNotFoundException.cs
- RuntimeConfig.cs
- HttpRuntime.cs
- IgnoreSection.cs
- PositiveTimeSpanValidator.cs
- DataViewSettingCollection.cs
- EntityConnection.cs
- MultiByteCodec.cs
- DataKeyCollection.cs
- CharEnumerator.cs
- XmlDeclaration.cs
- OledbConnectionStringbuilder.cs
- InteropBitmapSource.cs
- RectAnimationBase.cs
- XmlSchemaProviderAttribute.cs
- CompiledRegexRunner.cs
- RenderOptions.cs
- Stacktrace.cs
- ProjectionPathBuilder.cs
- HandlerMappingMemo.cs
- ObjectDataSourceFilteringEventArgs.cs
- TextEncodedRawTextWriter.cs
- EditorPartChrome.cs
- NavigationCommands.cs
- AttributeXamlType.cs
- TreeView.cs
- ReceiveParametersContent.cs
- GeneralTransform3DTo2DTo3D.cs
- WindowsGraphics2.cs
- RawStylusInputCustomDataList.cs
- IsolatedStorageFilePermission.cs
- RemoteWebConfigurationHostServer.cs
- Matrix3D.cs
- GZipDecoder.cs
- HttpCapabilitiesSectionHandler.cs
- GridViewColumn.cs
- Group.cs
- SafeHandles.cs
- BindingContext.cs
- MissingFieldException.cs
- IdleTimeoutMonitor.cs
- InheritanceRules.cs
- BitmapEffectInput.cs
- DataTemplate.cs