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
- ImageSourceValueSerializer.cs
- DockAndAnchorLayout.cs
- OleDbRowUpdatedEvent.cs
- BitmapSizeOptions.cs
- DefinitionProperties.cs
- PeerNameRecordCollection.cs
- InputLanguageSource.cs
- filewebrequest.cs
- XmlSchemaResource.cs
- CqlLexerHelpers.cs
- Int32Storage.cs
- GridToolTip.cs
- XmlArrayAttribute.cs
- CollectionsUtil.cs
- PopupControlService.cs
- DesignerDataParameter.cs
- SR.cs
- StreamGeometryContext.cs
- KernelTypeValidation.cs
- EventDescriptorCollection.cs
- SafeNativeMethods.cs
- StopRoutingHandler.cs
- MiniCustomAttributeInfo.cs
- Error.cs
- MdiWindowListStrip.cs
- PersonalizationProviderCollection.cs
- RemotingConfigParser.cs
- CapabilitiesState.cs
- DataTableReader.cs
- ReferencedType.cs
- X509CertificateCollection.cs
- TypefaceCollection.cs
- ClientRolePrincipal.cs
- FormViewInsertedEventArgs.cs
- FormViewModeEventArgs.cs
- MergeFilterQuery.cs
- GB18030Encoding.cs
- TextBlock.cs
- SubMenuStyle.cs
- ToolStripTextBox.cs
- MediaPlayer.cs
- FixedSOMLineCollection.cs
- WebPartConnectionsCancelVerb.cs
- PolyQuadraticBezierSegment.cs
- RequestResizeEvent.cs
- Thumb.cs
- ListSortDescriptionCollection.cs
- XsdBuilder.cs
- Expander.cs
- AssemblyBuilder.cs
- ControlEvent.cs
- PeerUnsafeNativeCryptMethods.cs
- Vars.cs
- ValidationService.cs
- BitmapFrameEncode.cs
- TemplateControlCodeDomTreeGenerator.cs
- PolyLineSegment.cs
- ShaderRenderModeValidation.cs
- JsonDataContract.cs
- XamlBuildTaskServices.cs
- Serializer.cs
- CodeMethodInvokeExpression.cs
- columnmapkeybuilder.cs
- WebScriptMetadataMessageEncoderFactory.cs
- XmlHelper.cs
- ClientBuildManager.cs
- FrameworkContentElement.cs
- WS2007HttpBindingCollectionElement.cs
- DataTable.cs
- VisualProxy.cs
- CompoundFileReference.cs
- RoleManagerModule.cs
- GenericEnumerator.cs
- OverlappedAsyncResult.cs
- WarningException.cs
- CodeSnippetExpression.cs
- ToolStripContentPanel.cs
- DependencyPropertyAttribute.cs
- CollectionViewGroupRoot.cs
- ImageAttributes.cs
- WorkflowTransactionService.cs
- XmlTextWriter.cs
- InputScopeNameConverter.cs
- SecurityHeaderElementInferenceEngine.cs
- _AcceptOverlappedAsyncResult.cs
- ParenthesizePropertyNameAttribute.cs
- SqlDataSourceEnumerator.cs
- SerializationHelper.cs
- DiffuseMaterial.cs
- ByteStream.cs
- GeometryGroup.cs
- PageWrapper.cs
- TagMapInfo.cs
- IgnoreSectionHandler.cs
- HandlerMappingMemo.cs
- XmlName.cs
- LayoutTableCell.cs
- InputBinder.cs
- OleDbErrorCollection.cs
- EventArgs.cs