Cela échoue
string temp = () => {return "test";};
avec l'erreur
Impossible de convertir l'expression lambda en type 'string' car ce n'est pas un type de délégué.
Que signifie cette erreur et comment puis-je la résoudre ?
Cela échoue
string temp = () => {return "test";};
avec l'erreur
Impossible de convertir l'expression lambda en type 'string' car ce n'est pas un type de délégué.
Que signifie cette erreur et comment puis-je la résoudre ?
Voici un autre exemple utilisant C# 8 ( pourrait également fonctionner avec d'autres versions de .NET supportant les tâches parallèles )
using System;
using System.Threading.Tasks;
namespace Exercise_1_Creating_and_Sharing_Tasks
{
internal static class Program
{
private static int TextLength(object o)
{
Console.WriteLine($"Task with id {Task.CurrentId} processing object {o}");
return o.ToString().Length;
}
private static void Main()
{
const string text1 = "Welcome";
const string text2 = "Hello";
var task1 = new Task<int>(() => TextLength(text1));
task1.Start();
var task2 = Task.Factory.StartNew(TextLength, text2);
Console.WriteLine($"Length of '{text1}' is {task1.Result}");
Console.WriteLine($"Length of '{text2}' is {task2.Result}");
Console.WriteLine("Main program done");
Console.ReadKey();
}
}
}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
0 votes
Pourquoi cette question est-elle le premier résultat dans Google lorsqu'on recherche l'erreur "anonymous function converted to a void returning delegate cannot return a value" alors qu'elle n'a clairement rien à voir avec cela ?