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
- WebPartDeleteVerb.cs
- ZipIORawDataFileBlock.cs
- MemberHolder.cs
- CustomDictionarySources.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- EncryptedPackage.cs
- ISO2022Encoding.cs
- FormsAuthenticationModule.cs
- SafeFileMappingHandle.cs
- ElementNotAvailableException.cs
- MsmqTransportReceiveParameters.cs
- ScriptControlManager.cs
- ProviderBase.cs
- XPathScanner.cs
- TypeSystemProvider.cs
- Errors.cs
- CssStyleCollection.cs
- OdbcDataAdapter.cs
- path.cs
- DateTimeConverter.cs
- LinkButton.cs
- CodeNamespaceImport.cs
- SID.cs
- InvokePattern.cs
- TextEditorContextMenu.cs
- HttpResponse.cs
- MobileControlDesigner.cs
- TraceData.cs
- HandlerBase.cs
- ProfileSettingsCollection.cs
- ApplicationId.cs
- StaticTextPointer.cs
- EventKeyword.cs
- ResourceManagerWrapper.cs
- GroupDescription.cs
- AspNetHostingPermission.cs
- Int64AnimationUsingKeyFrames.cs
- EntityProviderServices.cs
- DependsOnAttribute.cs
- DomainLiteralReader.cs
- GridViewRow.cs
- ExpandSegment.cs
- Viewport3DAutomationPeer.cs
- MaskedTextBoxTextEditorDropDown.cs
- DataSourceSelectArguments.cs
- ChangeInterceptorAttribute.cs
- counter.cs
- DataGridViewBand.cs
- RealProxy.cs
- WindowsListViewGroupHelper.cs
- behaviorssection.cs
- SafeRegistryHandle.cs
- FilterElement.cs
- HostingEnvironmentWrapper.cs
- RawKeyboardInputReport.cs
- TemplateKey.cs
- XmlSiteMapProvider.cs
- BuildProviderUtils.cs
- ProcessHostConfigUtils.cs
- ZipIORawDataFileBlock.cs
- ControlPersister.cs
- VirtualPath.cs
- FileRecordSequence.cs
- PageAdapter.cs
- ProxyWebPartConnectionCollection.cs
- DetailsViewPageEventArgs.cs
- RoleService.cs
- TraceHwndHost.cs
- ModelFunctionTypeElement.cs
- SessionEndingEventArgs.cs
- TypeUsageBuilder.cs
- RegexCharClass.cs
- StatusBarPanel.cs
- ProxyGenerationError.cs
- DefaultBinder.cs
- WithParamAction.cs
- InheritanceAttribute.cs
- ScalarRestriction.cs
- HtmlInputRadioButton.cs
- ChangeNode.cs
- SQLBinaryStorage.cs
- ToolStripContentPanel.cs
- UndirectedGraph.cs
- QueryExpr.cs
- AuthorizationRule.cs
- Decorator.cs
- SoapMessage.cs
- propertyentry.cs
- TableSectionStyle.cs
- VectorCollectionConverter.cs
- ConfigurationElementCollection.cs
- datacache.cs
- Site.cs
- DataBoundLiteralControl.cs
- ColorMap.cs
- TemplateBindingExpressionConverter.cs
- AgileSafeNativeMemoryHandle.cs
- WebPartCancelEventArgs.cs
- HttpCachePolicyElement.cs
- ServiceHttpModule.cs