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
- ReturnType.cs
- PkcsMisc.cs
- pingexception.cs
- MouseGestureConverter.cs
- BinaryObjectInfo.cs
- HtmlTextArea.cs
- OutArgument.cs
- DatePickerAutomationPeer.cs
- GridItemCollection.cs
- BindableAttribute.cs
- TextSpanModifier.cs
- ExtendedPropertiesHandler.cs
- PolicyReader.cs
- BasePattern.cs
- StylusPoint.cs
- Geometry.cs
- ToolboxItem.cs
- TextDecoration.cs
- MailWriter.cs
- BamlTreeMap.cs
- DescendantBaseQuery.cs
- RelationshipManager.cs
- ApplicationSecurityManager.cs
- BasicKeyConstraint.cs
- AspNetSynchronizationContext.cs
- GeneralTransform.cs
- XsltSettings.cs
- ByteStreamMessageEncoder.cs
- StyleCollectionEditor.cs
- Zone.cs
- WebException.cs
- NavigationProperty.cs
- HtmlGenericControl.cs
- RangeContentEnumerator.cs
- SmiContext.cs
- SqlClientMetaDataCollectionNames.cs
- DoubleLinkList.cs
- SystemEvents.cs
- Config.cs
- ISO2022Encoding.cs
- PrePostDescendentsWalker.cs
- DataSourceControl.cs
- SynthesizerStateChangedEventArgs.cs
- KnownIds.cs
- EditorPartCollection.cs
- CompileLiteralTextParser.cs
- AssociativeAggregationOperator.cs
- DataIdProcessor.cs
- SerializationInfoEnumerator.cs
- SiteMapDataSource.cs
- XPathBuilder.cs
- CommonGetThemePartSize.cs
- AsymmetricSignatureDeformatter.cs
- ThrowHelper.cs
- DescendentsWalkerBase.cs
- Parameter.cs
- EditingContext.cs
- SQLGuidStorage.cs
- RuleSettings.cs
- SqlPersonalizationProvider.cs
- NetworkInterface.cs
- LoginName.cs
- CodeRegionDirective.cs
- StringCollection.cs
- ResXBuildProvider.cs
- SqlConnectionManager.cs
- KeyValueConfigurationCollection.cs
- Clock.cs
- XmlQueryType.cs
- FontFamily.cs
- DispatcherProcessingDisabled.cs
- SchemaCompiler.cs
- DataGridViewSelectedColumnCollection.cs
- EncryptedHeaderXml.cs
- RC2.cs
- TransformerConfigurationWizardBase.cs
- RemoteCryptoTokenProvider.cs
- TransportContext.cs
- OleServicesContext.cs
- ConvertersCollection.cs
- NegationPusher.cs
- oledbconnectionstring.cs
- AttachedPropertyMethodSelector.cs
- TableLayoutPanelCodeDomSerializer.cs
- MemberNameValidator.cs
- RSAOAEPKeyExchangeFormatter.cs
- ArrayWithOffset.cs
- XmlSchemaInferenceException.cs
- SystemException.cs
- CharAnimationUsingKeyFrames.cs
- Control.cs
- HttpInputStream.cs
- PolyQuadraticBezierSegment.cs
- CreateDataSourceDialog.cs
- PictureBox.cs
- PrintDialogException.cs
- LoginViewDesigner.cs
- WorkBatch.cs
- TemplateInstanceAttribute.cs
- WorkflowEventArgs.cs