Task<TResult> Constructeurs

Définition

Initialise un nouvel objet Task<TResult>.Initializes a new Task<TResult> object.

Surcharges

Task<TResult>(Func<TResult>)

Initialise une nouvelle Task<TResult> avec la fonction spécifiée.Initializes a new Task<TResult> with the specified function.

Task<TResult>(Func<Object,TResult>, Object)

Initialise un nouveau Task<TResult> avec la fonction et l'état spécifiés.Initializes a new Task<TResult> with the specified function and state.

Task<TResult>(Func<TResult>, CancellationToken)

Initialise une nouvelle Task<TResult> avec la fonction spécifiée.Initializes a new Task<TResult> with the specified function.

Task<TResult>(Func<TResult>, TaskCreationOptions)

Initialise une nouvelle Task<TResult> avec la fonction et les options de création spécifiées.Initializes a new Task<TResult> with the specified function and creation options.

Task<TResult>(Func<Object,TResult>, Object, CancellationToken)

Initialise une nouvelle Task<TResult> avec l'action, l'état et les options spécifiés.Initializes a new Task<TResult> with the specified action, state, and options.

Task<TResult>(Func<Object,TResult>, Object, TaskCreationOptions)

Initialise une nouvelle Task<TResult> avec l'action, l'état et les options spécifiés.Initializes a new Task<TResult> with the specified action, state, and options.

Task<TResult>(Func<TResult>, CancellationToken, TaskCreationOptions)

Initialise une nouvelle Task<TResult> avec la fonction et les options de création spécifiées.Initializes a new Task<TResult> with the specified function and creation options.

Task<TResult>(Func<Object,TResult>, Object, CancellationToken, TaskCreationOptions)

Initialise une nouvelle Task<TResult> avec l'action, l'état et les options spécifiés.Initializes a new Task<TResult> with the specified action, state, and options.

Task<TResult>(Func<TResult>)

Initialise une nouvelle Task<TResult> avec la fonction spécifiée.Initializes a new Task<TResult> with the specified function.

public:
 Task(Func<TResult> ^ function);
public Task (Func<TResult> function);
new System.Threading.Tasks.Task<'Result> : Func<'Result> -> System.Threading.Tasks.Task<'Result>
Public Sub New (function As Func(Of TResult))

Paramètres

function
Func<TResult>

Délégué qui représente le code à exécuter dans la tâche.The delegate that represents the code to execute in the task. Quand cette fonction aura terminé, la propriété Result de la tâche sera configurée pour retourner la valeur de résultat de la fonction.When the function has completed, the task's Result property will be set to return the result value of the function.

Exceptions

L'argument function a la valeur null.The function argument is null.

L'argument function a la valeur null.The function argument is null.

Exemples

L’exemple suivant compte le nombre approximatif de mots dans des fichiers texte qui représentent des livres publiés.The following example counts the approximate number of words in text files that represent published books. Chaque tâche est responsable de l’ouverture d’un fichier, de la lecture de son contenu entier de manière asynchrone et du calcul du nombre de mots à l’aide d’une expression régulière.Each task is responsible for opening a file, reading its entire contents asynchronously, and calculating the word count by using a regular expression. La Task.WaitAll(Task[]) méthode est appelée pour s’assurer que toutes les tâches sont terminées avant d’afficher le nombre de mots de chaque livre dans la console.The Task.WaitAll(Task[]) method is called to ensure that all tasks have completed before displaying the word count of each book to the console.

L’instanciation d’objets est séparée de l’exécution de l’objet dans cet exemple afin que l’exemple puisse s’assurer que chaque fichier existe.Object instantiation is separated from object execution in this example so that the example can ensure that each file exists. Si ce n’est pas le cas, il affiche le nom du fichier manquant.If they do not, it displays the name of the missing file. Sinon, elle appelle la Task.Start méthode pour lancer chaque tâche.Otherwise, it calls the Task.Start method to launch each task.

using System;
using System.IO;
using System.Text.RegularExpressions;
using System.Threading.Tasks;

public class Example
{
   public static async Task Main()
   {
      string pattern = @"\p{P}*\s+";
      string[] titles = { "Sister Carrie", "The Financier" };
      Task<int>[] tasks = new Task<int>[titles.Length];

      for (int ctr = 0; ctr < titles.Length; ctr++) {
         string s = titles[ctr];
         tasks[ctr] = new Task<int>( () => {
                                   // Number of words.
                                   int nWords = 0;
                                   // Create filename from title.
                                   string fn = s + ".txt";

                                   StreamReader sr = new StreamReader(fn);
                                   string input = sr.ReadToEndAsync().Result;
                                   sr.Close();
                                   nWords = Regex.Matches(input, pattern).Count;
                                   return nWords;
                                } );
      }
      // Ensure files exist before launching tasks.
      bool allExist = true;
      foreach (var title in titles) {
         string fn = title + ".txt";
         if (! File.Exists(fn)) {
            allExist = false;
            Console.WriteLine("Cannot find '{0}'", fn);
            break;
         }   
      }
      // Launch tasks 
      if (allExist) {
         foreach (var t in tasks)
            t.Start();
      
        await Task.WhenAll(tasks);
  
        Console.WriteLine("Word Counts:\n");
        for (int ctr = 0; ctr < titles.Length; ctr++)
           Console.WriteLine("{0}: {1,10:N0} words", titles[ctr], tasks[ctr].Result);
      }   
   }
}
// The example displays the following output:
//       Sister Carrie:    159,374 words
//       The Financier:    196,362 words
Imports System.IO
Imports System.Text.RegularExpressions
Imports System.Threading.Tasks

Module Example
   Public Sub Main()
      Dim pattern As String = "\p{P}*\s+"
      Dim titles() As String = { "Sister Carrie",
                                 "The Financier" }
      Dim tasks(titles.Length - 1) As Task(Of Integer)

      For ctr As Integer = 0 To titles.Length - 1
         Dim s As String = titles(ctr)
         tasks(ctr) = New Task(Of Integer)( Function()
                                   ' Number of words.
                                   Dim nWords As Integer = 0
                                   ' Create filename from title.
                                   Dim fn As String = s + ".txt"

                                   Dim sr As New StreamReader(fn)
                                   Dim input As String = sr.ReadToEndAsync().Result
                                   sr.Close()
                                   nWords = Regex.Matches(input, pattern).Count
                                   Return nWords
                                End Function)
      Next

      ' Ensure files exist before launching tasks.
      Dim allExist As Boolean = True
      For Each title In titles
         Dim fn As String = title + ".txt"
         If Not File.Exists(fn) Then
            allExist = false
            Console.WriteLine("Cannot find '{0}'", fn)
            Exit For
         End If   
      Next
      ' Launch tasks 
      If allExist Then
         For Each t in tasks
            t.Start()
         Next
         Task.WaitAll(tasks)

         Console.WriteLine("Word Counts:")
         Console.WriteLine()
         For ctr As Integer = 0 To titles.Length - 1
         Console.WriteLine("{0}: {1,10:N0} words", titles(ctr), tasks(ctr).Result)
         Next
      End If   
   End Sub
End Module
' The example displays the following output:
'       Sister Carrie:    159,374 words
'       The Financier:    196,362 words

Le modèle d’expression régulière \p{P}*\s+ met en correspondance zéro, un ou plusieurs caractères de ponctuation suivis d’un ou de plusieurs espaces blancs.The regular expression pattern \p{P}*\s+ matches zero, one, or more punctuation characters followed by one or more white-space characters. Il part du principe que le nombre total de correspondances est égal au nombre de mots approximatif.It assumes that the total number of matches equals the approximate word count.

Remarques

Ce constructeur doit être utilisé uniquement dans les scénarios avancés où il est nécessaire que la création et le démarrage de la tâche soient séparés.This constructor should only be used in advanced scenarios where it is required that the creation and starting of the task is separated.

Au lieu d’appeler ce constructeur, la méthode la plus courante pour instancier un Task<TResult> objet et lancer une tâche consiste à appeler les Task.Run<TResult>(Func<TResult>) méthodes et statiques TaskFactory<TResult>.StartNew(Func<TResult>) .Rather than calling this constructor, the most common way to instantiate a Task<TResult> object and launch a task is by calling the static Task.Run<TResult>(Func<TResult>) and TaskFactory<TResult>.StartNew(Func<TResult>) methods.

Si une tâche sans action est nécessaire uniquement pour que le consommateur d’une API ait un texte à attendre, un TaskCompletionSource<TResult> doit être utilisé.If a task with no action is needed just for the consumer of an API to have something to await, a TaskCompletionSource<TResult> should be used.

Voir aussi

Task<TResult>(Func<Object,TResult>, Object)

Initialise un nouveau Task<TResult> avec la fonction et l'état spécifiés.Initializes a new Task<TResult> with the specified function and state.

public:
 Task(Func<System::Object ^, TResult> ^ function, System::Object ^ state);
public Task (Func<object,TResult> function, object state);
public Task (Func<object,TResult>? function, object state);
new System.Threading.Tasks.Task<'Result> : Func<obj, 'Result> * obj -> System.Threading.Tasks.Task<'Result>
Public Sub New (function As Func(Of Object, TResult), state As Object)

Paramètres

function
Func<Object,TResult>

Délégué qui représente le code à exécuter dans la tâche.The delegate that represents the code to execute in the task. Quand cette fonction aura terminé, la propriété Result de la tâche sera configurée pour retourner la valeur de résultat de la fonction.When the function has completed, the task's Result property will be set to return the result value of the function.

state
Object

Objet représentant les données que l'action doit utiliser.An object representing data to be used by the action.

Exceptions

L'argument function a la valeur null.The function argument is null.

L'argument function a la valeur null.The function argument is null.

Remarques

Au lieu d’appeler ce constructeur, le moyen le plus courant d’instancier un Task<TResult> objet et de lancer une tâche consiste à appeler la TaskFactory<TResult>.StartNew(Func<Object,TResult>, Object) méthode statique.Rather than calling this constructor, the most common way to instantiate a Task<TResult> object and launch a task is by calling the static TaskFactory<TResult>.StartNew(Func<Object,TResult>, Object) method. Le seul avantage offert par ce constructeur est qu’il permet de séparer l’instanciation d’objet de l’appel de tâche.The only advantage offered by this constructor is that it allows object instantiation to be separated from task invocation.

Voir aussi

Task<TResult>(Func<TResult>, CancellationToken)

Initialise une nouvelle Task<TResult> avec la fonction spécifiée.Initializes a new Task<TResult> with the specified function.

public:
 Task(Func<TResult> ^ function, System::Threading::CancellationToken cancellationToken);
public Task (Func<TResult> function, System.Threading.CancellationToken cancellationToken);
new System.Threading.Tasks.Task<'Result> : Func<'Result> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Sub New (function As Func(Of TResult), cancellationToken As CancellationToken)

Paramètres

function
Func<TResult>

Délégué qui représente le code à exécuter dans la tâche.The delegate that represents the code to execute in the task. Quand cette fonction aura terminé, la propriété Result de la tâche sera configurée pour retourner la valeur de résultat de la fonction.When the function has completed, the task's Result property will be set to return the result value of the function.

cancellationToken
CancellationToken

CancellationToken à assigner à cette tâche.The CancellationToken to be assigned to this task.

Exceptions

Le CancellationTokenSource qui a créé cancellationToken a déjà été supprimé.The CancellationTokenSource that created cancellationToken has already been disposed.

L'argument function a la valeur null.The function argument is null.

L'argument function a la valeur null.The function argument is null.

Remarques

Au lieu d’appeler ce constructeur, la méthode la plus courante pour instancier un Task<TResult> objet et lancer une tâche consiste à appeler les Task.Run<TResult>(Func<TResult>, CancellationToken) méthodes et statiques TaskFactory<TResult>.StartNew(Func<TResult>, CancellationToken) .Rather than calling this constructor, the most common way to instantiate a Task<TResult> object and launch a task is by calling the static Task.Run<TResult>(Func<TResult>, CancellationToken) and TaskFactory<TResult>.StartNew(Func<TResult>, CancellationToken) methods. Le seul avantage offert par ce constructeur est qu’il permet de séparer l’instanciation d’objet de l’appel de tâche.The only advantage offered by this constructor is that it allows object instantiation to be separated from task invocation.

Voir aussi

Task<TResult>(Func<TResult>, TaskCreationOptions)

Initialise une nouvelle Task<TResult> avec la fonction et les options de création spécifiées.Initializes a new Task<TResult> with the specified function and creation options.

public:
 Task(Func<TResult> ^ function, System::Threading::Tasks::TaskCreationOptions creationOptions);
public Task (Func<TResult> function, System.Threading.Tasks.TaskCreationOptions creationOptions);
new System.Threading.Tasks.Task<'Result> : Func<'Result> * System.Threading.Tasks.TaskCreationOptions -> System.Threading.Tasks.Task<'Result>
Public Sub New (function As Func(Of TResult), creationOptions As TaskCreationOptions)

Paramètres

function
Func<TResult>

Délégué qui représente le code à exécuter dans la tâche.The delegate that represents the code to execute in the task. Quand cette fonction aura terminé, la propriété Result de la tâche sera configurée pour retourner la valeur de résultat de la fonction.When the function has completed, the task's Result property will be set to return the result value of the function.

creationOptions
TaskCreationOptions

TaskCreationOptions utilisé pour personnaliser le comportement de la tâche.The TaskCreationOptions used to customize the task's behavior.

Exceptions

L'argument creationOptions spécifie une valeur non valide pour TaskCreationOptions.The creationOptions argument specifies an invalid value for TaskCreationOptions.

L'argument function a la valeur null.The function argument is null.

L'argument function a la valeur null.The function argument is null.

Remarques

Au lieu d’appeler ce constructeur, le moyen le plus courant d’instancier un Task<TResult> objet et de lancer une tâche consiste à appeler la TaskFactory<TResult>.StartNew(Func<TResult>, TaskCreationOptions) méthode statique.Rather than calling this constructor, the most common way to instantiate a Task<TResult> object and launch a task is by calling the static TaskFactory<TResult>.StartNew(Func<TResult>, TaskCreationOptions) method. Le seul avantage offert par ce constructeur est qu’il permet de séparer l’instanciation d’objet de l’appel de tâche.The only advantage offered by this constructor is that it allows object instantiation to be separated from task invocation.

Voir aussi

Task<TResult>(Func<Object,TResult>, Object, CancellationToken)

Initialise une nouvelle Task<TResult> avec l'action, l'état et les options spécifiés.Initializes a new Task<TResult> with the specified action, state, and options.

public:
 Task(Func<System::Object ^, TResult> ^ function, System::Object ^ state, System::Threading::CancellationToken cancellationToken);
public Task (Func<object,TResult> function, object state, System.Threading.CancellationToken cancellationToken);
public Task (Func<object,TResult>? function, object state, System.Threading.CancellationToken cancellationToken);
new System.Threading.Tasks.Task<'Result> : Func<obj, 'Result> * obj * System.Threading.CancellationToken -> System.Threading.Tasks.Task<'Result>
Public Sub New (function As Func(Of Object, TResult), state As Object, cancellationToken As CancellationToken)

Paramètres

function
Func<Object,TResult>

Délégué qui représente le code à exécuter dans la tâche.The delegate that represents the code to execute in the task. Quand cette fonction aura terminé, la propriété Result de la tâche sera configurée pour retourner la valeur de résultat de la fonction.When the function has completed, the task's Result property will be set to return the result value of the function.

state
Object

Objet représentant les données que la fonction doit utiliser.An object representing data to be used by the function.

cancellationToken
CancellationToken

CancellationToken à assigner à la nouvelle tâche.The CancellationToken to be assigned to the new task.

Exceptions

Le CancellationTokenSource qui a créé cancellationToken a déjà été supprimé.The CancellationTokenSource that created cancellationToken has already been disposed.

L'argument function a la valeur null.The function argument is null.

L'argument function a la valeur null.The function argument is null.

Remarques

Au lieu d’appeler ce constructeur, le moyen le plus courant d’instancier un Task<TResult> objet et de lancer une tâche consiste à appeler la TaskFactory<TResult>.StartNew(Func<Object,TResult>, Object, CancellationToken) méthode statique.Rather than calling this constructor, the most common way to instantiate a Task<TResult> object and launch a task is by calling the static TaskFactory<TResult>.StartNew(Func<Object,TResult>, Object, CancellationToken) method. Le seul avantage offert par ce constructeur est qu’il permet de séparer l’instanciation d’objet de l’appel de tâche.The only advantage offered by this constructor is that it allows object instantiation to be separated from task invocation.

Voir aussi

Task<TResult>(Func<Object,TResult>, Object, TaskCreationOptions)

Initialise une nouvelle Task<TResult> avec l'action, l'état et les options spécifiés.Initializes a new Task<TResult> with the specified action, state, and options.

public:
 Task(Func<System::Object ^, TResult> ^ function, System::Object ^ state, System::Threading::Tasks::TaskCreationOptions creationOptions);
public Task (Func<object,TResult> function, object state, System.Threading.Tasks.TaskCreationOptions creationOptions);
public Task (Func<object,TResult>? function, object state, System.Threading.Tasks.TaskCreationOptions creationOptions);
new System.Threading.Tasks.Task<'Result> : Func<obj, 'Result> * obj * System.Threading.Tasks.TaskCreationOptions -> System.Threading.Tasks.Task<'Result>
Public Sub New (function As Func(Of Object, TResult), state As Object, creationOptions As TaskCreationOptions)

Paramètres

function
Func<Object,TResult>

Délégué qui représente le code à exécuter dans la tâche.The delegate that represents the code to execute in the task. Quand cette fonction aura terminé, la propriété Result de la tâche sera configurée pour retourner la valeur de résultat de la fonction.When the function has completed, the task's Result property will be set to return the result value of the function.

state
Object

Objet représentant les données que la fonction doit utiliser.An object representing data to be used by the function.

creationOptions
TaskCreationOptions

TaskCreationOptions utilisé pour personnaliser le comportement de la tâche.The TaskCreationOptions used to customize the task's behavior.

Exceptions

L'argument creationOptions spécifie une valeur non valide pour TaskCreationOptions.The creationOptions argument specifies an invalid value for TaskCreationOptions.

L'argument function a la valeur null.The function argument is null.

L'argument function a la valeur null.The function argument is null.

Remarques

Au lieu d’appeler ce constructeur, le moyen le plus courant d’instancier un Task<TResult> objet et de lancer une tâche consiste à appeler la TaskFactory<TResult>.StartNew(Func<Object,TResult>, Object, TaskCreationOptions) méthode statique.Rather than calling this constructor, the most common way to instantiate a Task<TResult> object and launch a task is by calling the static TaskFactory<TResult>.StartNew(Func<Object,TResult>, Object, TaskCreationOptions) method. Le seul avantage offert par ce constructeur est qu’il permet de séparer l’instanciation d’objet de l’appel de tâche.The only advantage offered by this constructor is that it allows object instantiation to be separated from task invocation.

Voir aussi

Task<TResult>(Func<TResult>, CancellationToken, TaskCreationOptions)

Initialise une nouvelle Task<TResult> avec la fonction et les options de création spécifiées.Initializes a new Task<TResult> with the specified function and creation options.

public:
 Task(Func<TResult> ^ function, System::Threading::CancellationToken cancellationToken, System::Threading::Tasks::TaskCreationOptions creationOptions);
public Task (Func<TResult> function, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskCreationOptions creationOptions);
new System.Threading.Tasks.Task<'Result> : Func<'Result> * System.Threading.CancellationToken * System.Threading.Tasks.TaskCreationOptions -> System.Threading.Tasks.Task<'Result>
Public Sub New (function As Func(Of TResult), cancellationToken As CancellationToken, creationOptions As TaskCreationOptions)

Paramètres

function
Func<TResult>

Délégué qui représente le code à exécuter dans la tâche.The delegate that represents the code to execute in the task. Quand cette fonction aura terminé, la propriété Result de la tâche sera configurée pour retourner la valeur de résultat de la fonction.When the function has completed, the task's Result property will be set to return the result value of the function.

cancellationToken
CancellationToken

CancellationToken qui sera assigné à la nouvelle tâche.The CancellationToken that will be assigned to the new task.

creationOptions
TaskCreationOptions

TaskCreationOptions utilisé pour personnaliser le comportement de la tâche.The TaskCreationOptions used to customize the task's behavior.

Exceptions

Le CancellationTokenSource qui a créé cancellationToken a déjà été supprimé.The CancellationTokenSource that created cancellationToken has already been disposed.

L'argument creationOptions spécifie une valeur non valide pour TaskCreationOptions.The creationOptions argument specifies an invalid value for TaskCreationOptions.

L'argument function a la valeur null.The function argument is null.

L'argument function a la valeur null.The function argument is null.

Remarques

Au lieu d’appeler ce constructeur, le moyen le plus courant d’instancier un Task<TResult> objet et de lancer une tâche consiste à appeler la TaskFactory.StartNew<TResult>(Func<TResult>, CancellationToken, TaskCreationOptions, TaskScheduler) méthode statique.Rather than calling this constructor, the most common way to instantiate a Task<TResult> object and launch a task is by calling the static TaskFactory.StartNew<TResult>(Func<TResult>, CancellationToken, TaskCreationOptions, TaskScheduler) method. Le seul avantage offert par ce constructeur est qu’il permet de séparer l’instanciation d’objet de l’appel de tâche.The only advantage offered by this constructor is that it allows object instantiation to be separated from task invocation.

Voir aussi

Task<TResult>(Func<Object,TResult>, Object, CancellationToken, TaskCreationOptions)

Initialise une nouvelle Task<TResult> avec l'action, l'état et les options spécifiés.Initializes a new Task<TResult> with the specified action, state, and options.

public:
 Task(Func<System::Object ^, TResult> ^ function, System::Object ^ state, System::Threading::CancellationToken cancellationToken, System::Threading::Tasks::TaskCreationOptions creationOptions);
public Task (Func<object,TResult> function, object state, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskCreationOptions creationOptions);
public Task (Func<object,TResult>? function, object state, System.Threading.CancellationToken cancellationToken, System.Threading.Tasks.TaskCreationOptions creationOptions);
new System.Threading.Tasks.Task<'Result> : Func<obj, 'Result> * obj * System.Threading.CancellationToken * System.Threading.Tasks.TaskCreationOptions -> System.Threading.Tasks.Task<'Result>
Public Sub New (function As Func(Of Object, TResult), state As Object, cancellationToken As CancellationToken, creationOptions As TaskCreationOptions)

Paramètres

function
Func<Object,TResult>

Délégué qui représente le code à exécuter dans la tâche.The delegate that represents the code to execute in the task. Quand cette fonction aura terminé, la propriété Result de la tâche sera configurée pour retourner la valeur de résultat de la fonction.When the function has completed, the task's Result property will be set to return the result value of the function.

state
Object

Objet représentant les données que la fonction doit utiliser.An object representing data to be used by the function.

cancellationToken
CancellationToken

CancellationToken à assigner à la nouvelle tâche.The CancellationToken to be assigned to the new task.

creationOptions
TaskCreationOptions

TaskCreationOptions utilisé pour personnaliser le comportement de la tâche.The TaskCreationOptions used to customize the task's behavior.

Exceptions

Le CancellationTokenSource qui a créé cancellationToken a déjà été supprimé.The CancellationTokenSource that created cancellationToken has already been disposed.

L'argument creationOptions spécifie une valeur non valide pour TaskCreationOptions.The creationOptions argument specifies an invalid value for TaskCreationOptions.

L'argument function a la valeur null.The function argument is null.

L'argument function a la valeur null.The function argument is null.

Remarques

Au lieu d’appeler ce constructeur, le moyen le plus courant d’instancier un Task<TResult> objet et de lancer une tâche consiste à appeler la TaskFactory<TResult>.StartNew(Func<Object,TResult>, Object, CancellationToken, TaskCreationOptions, TaskScheduler) méthode statique.Rather than calling this constructor, the most common way to instantiate a Task<TResult> object and launch a task is by calling the static TaskFactory<TResult>.StartNew(Func<Object,TResult>, Object, CancellationToken, TaskCreationOptions, TaskScheduler) method. Le seul avantage offert par ce constructeur est qu’il permet de séparer l’instanciation d’objet de l’appel de tâche.The only advantage offered by this constructor is that it allows object instantiation to be separated from task invocation.

Voir aussi

S’applique à