Ok permet de dire que j'ai ce programme simple dans .NET 4.6:.NET 4.7 retour Tuples et les valeurs nullables
using System;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Program
{
static async void Main()
{
var data = await Task.Run(() =>
{
try
{
return GetResults();
}
catch
{
return null;
}
});
Console.WriteLine(data);
}
private static Tuple<int,int> GetResults()
{
return new Tuple<int,int>(1,1);
}
}
}
fonctionne très bien. Donc, avec .NET 4.7, nous avons le nouveau type de valeur Tuple. Donc, si je convertis cela, il devient:
using System;
using System.Threading.Tasks;
namespace ConsoleApp1
{
class Program
{
static async void Main()
{
var data = await Task.Run(() =>
{
try
{
return GetResults();
}
catch
{
return null;
}
});
Console.WriteLine(data);
}
private static (int,int) GetResults()
{
return (1, 2);
}
}
}
Super! Sauf que ça ne marche pas. Le nouveau type de valeur de tuple n'est pas nullable, donc cela ne compile même pas.
Quelqu'un trouve-t-il un motif sympa pour gérer cette situation où vous voulez renvoyer un tuple de type valeur mais le résultat peut également être nul?
Comment appeler des méthodes asynchrones à partir de la méthode principale: https://blogs.msdn.microsoft.com/benjaminperkins/2017/03/08/how-to-call-an-async -method-from-a-console-app-main-method/ –
Je n'ai jamais su que je pouvais faire ça! Logique. Merci beaucoup! – Kelly