﻿<?xml version="1.0" encoding="utf-8"?><Type Name="ParallelLoopState" FullName="System.Threading.Tasks.ParallelLoopState"><TypeSignature Language="C#" Value="public class ParallelLoopState" /><TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit ParallelLoopState extends System.Object" /><AssemblyInfo><AssemblyName>mscorlib</AssemblyName><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><Base><BaseTypeName>System.Object</BaseTypeName></Base><Interfaces /><Attributes><Attribute><AttributeName>System.Diagnostics.DebuggerDisplay("ShouldExitCurrentIteration = {ShouldExitCurrentIteration}")</AttributeName></Attribute></Attributes><Docs><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Enables iterations of <see cref="T:System.Threading.Tasks.Parallel" /> loops to interact with other iterations. An instance of this class is provided by the Parallel class to each loop; you can not create instances in your user code.</para></summary></Docs><Members><Member MemberName="Break"><MemberSignature Language="C#" Value="public void Break ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Break() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para><see cref="M:System.Threading.Tasks.ParallelLoopState.Break" /> may be used to communicate to the loop that no other iterations after the current iteration need be run. For example, if <see cref="M:System.Threading.Tasks.ParallelLoopState.Break" /> is called from the 100th iteration of a for loop iterating in parallel from 0 to 1000, all iterations less than 100 should still be run, but the iterations from 101 through to 1000 are not necessary.</para><para>  For long-running iterations that may already be executing, <see cref="M:System.Threading.Tasks.ParallelLoopState.Break" /> causes <see cref="P:System.Threading.Tasks.ParallelLoopState.LowestBreakIteration" /> to be set to the current iteration's index if the current index is less than the current value of <see cref="P:System.Threading.Tasks.ParallelLoopState.LowestBreakIteration" />.</para><para><see cref="M:System.Threading.Tasks.ParallelLoopState.Break" /> is typically employed in search-based algorithms where an ordering is present in the data source.</para><para></para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Communicates that the <see cref="T:System.Threading.Tasks.Parallel" /> loop should cease execution at the system's earliest convenience of iterations beyond the current iteration.</para></summary></Docs></Member><Member MemberName="IsExceptional"><MemberSignature Language="C#" Value="public bool IsExceptional { get; }" /><MemberSignature Language="ILAsm" Value=".property instance bool IsExceptional" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets whether any iteration of the loop has thrown an exception that went unhandled by that iteration.</para></summary></Docs></Member><Member MemberName="IsStopped"><MemberSignature Language="C#" Value="public bool IsStopped { get; }" /><MemberSignature Language="ILAsm" Value=".property instance bool IsStopped" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks>To be added.</remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets whether any iteration of the loop has called <see cref="M:System.Threading.Tasks.ParallelLoopState.Stop" />.</para></summary></Docs></Member><Member MemberName="LowestBreakIteration"><MemberSignature Language="C#" Value="public Nullable&lt;long&gt; LowestBreakIteration { get; }" /><MemberSignature Language="ILAsm" Value=".property instance valuetype System.Nullable`1&lt;int64&gt; LowestBreakIteration" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Nullable&lt;System.Int64&gt;</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>If no iteration of the loop called <see cref="M:System.Threading.Tasks.ParallelLoopState.Break" />, this property will return null.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets the lowest iteration of the loop from which <see cref="M:System.Threading.Tasks.ParallelLoopState.Break" /> was called. </para></summary></Docs></Member><Member MemberName="ShouldExitCurrentIteration"><MemberSignature Language="C#" Value="public bool ShouldExitCurrentIteration { get; }" /><MemberSignature Language="ILAsm" Value=".property instance bool ShouldExitCurrentIteration" /><MemberType>Property</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Boolean</ReturnType></ReturnValue><Docs><value>To be added.</value><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para>When an iteration of a loop calls <see cref="M:System.Threading.Tasks.ParallelLoopState.Break" /> or <see cref="M:System.Threading.Tasks.ParallelLoopState.Stop" />, or when one throws an exception, or when the loop is canceled, the <see cref="T:System.Threading.Tasks.Parallel" /> class will proactively attempt to prohibit additional iterations of the loop from starting execution.</para><para> However, there may be cases where it is unable to prevent additional iterations from starting.</para><para> It may also be the case that a long-running iteration has already begun execution. In such cases, iterations may explicitly check the <see cref="P:System.Threading.Tasks.ParallelLoopState.ShouldExitCurrentIteration" /> property and cease execution if the property returns true.</para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Gets whether the current iteration of the loop should exit based on requests made by this or other iterations.</para></summary></Docs></Member><Member MemberName="Stop"><MemberSignature Language="C#" Value="public void Stop ();" /><MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Stop() cil managed" /><MemberType>Method</MemberType><AssemblyInfo><AssemblyVersion>4.0.0.0</AssemblyVersion></AssemblyInfo><ReturnValue><ReturnType>System.Void</ReturnType></ReturnValue><Parameters /><Docs><remarks><attribution license="cc4" from="Microsoft" modified="false" /><para><see cref="M:System.Threading.Tasks.ParallelLoopState.Stop" /> may be used to communicate to the loop that no other iterations need be run.</para><para> For long-running iterations that may already be executing, <see cref="M:System.Threading.Tasks.ParallelLoopState.Stop" /> causes <see cref="P:System.Threading.Tasks.ParallelLoopState.IsStopped" /> to return true for all other iterations of the loop, such that another iteration may check <see cref="P:System.Threading.Tasks.ParallelLoopState.IsStopped" /> and exit early if it's observed to be true.</para><para><see cref="M:System.Threading.Tasks.ParallelLoopState.Stop" /> is typically employed in search-based algorithms, where once a result is found, no other iterations need be executed.</para><para></para></remarks><summary><attribution license="cc4" from="Microsoft" modified="false" /><para>Communicates that the <see cref="T:System.Threading.Tasks.Parallel" /> loop should cease execution at the system's earliest convenience.</para></summary></Docs></Member></Members></Type>