I have a conditional synchronous method (hereinafter "GenString"). I decided to make it asynchronous. I got 2 variations. But I would like to know how to do it right? I'll be grateful for examples.
async Task<string> GenStringAsynV2(long arrayLength)
{
return await Task.Run(() => GenString(arrayLength));
}
Task<string> GenStringAsynV1(long arrayLength)
{
return Task.Run(() => GenString(arrayLength));
}
string GenString(long arrayLength)
{
Stopwatch sw = Stopwatch.StartNew();
StringBuilder result = new();
for (long i = 0; i < arrayLength; i++)
{
result.Append(i).Append(" + ");
}
sw.Stop();
StringBuilder timeWork = new StringBuilder("GenString: ")
.Append(sw.Elapsed)
.Append("; String Length: ")
.Append(result.Length);
Debug.WriteLine("End");
return timeWork.ToString();
}