diff --git a/csharp-advanced-topics/TaskAndValueTask/TaskAndValueTaskExample/TaskAndValueTaskExample.csproj b/csharp-advanced-topics/TaskAndValueTask/TaskAndValueTaskExample/TaskAndValueTaskExample.csproj index d439800007..dfb40caafc 100644 --- a/csharp-advanced-topics/TaskAndValueTask/TaskAndValueTaskExample/TaskAndValueTaskExample.csproj +++ b/csharp-advanced-topics/TaskAndValueTask/TaskAndValueTaskExample/TaskAndValueTaskExample.csproj @@ -1,10 +1,10 @@ - - - - Exe - net7.0 - enable - enable - - - + + + + Exe + net10.0 + enable + enable + + + diff --git a/csharp-advanced-topics/TaskAndValueTask/TaskAndValueTaskExampleBenchmark/TaskAndValueTaskBenchmark.cs b/csharp-advanced-topics/TaskAndValueTask/TaskAndValueTaskExampleBenchmark/TaskAndValueTaskBenchmark.cs index f9d4c3ccf9..0d41ef3828 100644 --- a/csharp-advanced-topics/TaskAndValueTask/TaskAndValueTaskExampleBenchmark/TaskAndValueTaskBenchmark.cs +++ b/csharp-advanced-topics/TaskAndValueTask/TaskAndValueTaskExampleBenchmark/TaskAndValueTaskBenchmark.cs @@ -21,7 +21,7 @@ public async Task TaskBenchmark(string city) } [Benchmark] - [Arguments("London")] + [Arguments("Denver")] public async ValueTask ValueTaskBenchmark(string city) { return await _weatherService.GetWeatherValueTask(city); diff --git a/csharp-advanced-topics/TaskAndValueTask/TaskAndValueTaskExampleBenchmark/TaskAndValueTaskExampleBenchmark.csproj b/csharp-advanced-topics/TaskAndValueTask/TaskAndValueTaskExampleBenchmark/TaskAndValueTaskExampleBenchmark.csproj index 809af9ebfb..498c0e78d8 100644 --- a/csharp-advanced-topics/TaskAndValueTask/TaskAndValueTaskExampleBenchmark/TaskAndValueTaskExampleBenchmark.csproj +++ b/csharp-advanced-topics/TaskAndValueTask/TaskAndValueTaskExampleBenchmark/TaskAndValueTaskExampleBenchmark.csproj @@ -1,18 +1,18 @@ - - - - - - - - - - - - Exe - net7.0 - enable - enable - - - + + + + + + + + + + + + Exe + net10.0 + enable + enable + + + diff --git a/csharp-advanced-topics/TaskAndValueTask/Tests/ConversionTests.cs b/csharp-advanced-topics/TaskAndValueTask/Tests/ConversionTests.cs new file mode 100644 index 0000000000..9112b5dd12 --- /dev/null +++ b/csharp-advanced-topics/TaskAndValueTask/Tests/ConversionTests.cs @@ -0,0 +1,18 @@ +namespace Tests; + +public class ConversionTests +{ + [Fact] + public async Task GivenATaskAndAValue_WhenWeConvertBetweenTaskAndValueTask_ThenBothDirectionsCarryTheSameResult() + { + Task existingTask = Task.FromResult(42); + + ValueTask fromTask = new ValueTask(existingTask); + ValueTask fromValue = new ValueTask(42); + + Task backToTask = fromValue.AsTask(); + + Assert.Equal(42, await fromTask); + Assert.Equal(42, await backToTask); + } +} diff --git a/csharp-advanced-topics/TaskAndValueTask/Tests/Tests.csproj b/csharp-advanced-topics/TaskAndValueTask/Tests/Tests.csproj index 4de5bf2f0c..c0b175b208 100644 --- a/csharp-advanced-topics/TaskAndValueTask/Tests/Tests.csproj +++ b/csharp-advanced-topics/TaskAndValueTask/Tests/Tests.csproj @@ -1,28 +1,28 @@ - - - - net7.0 - enable - enable - - false - - - - - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - runtime; build; native; contentfiles; analyzers; buildtransitive - all - - - - - - - - + + + + net10.0 + enable + enable + + false + + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + + + + + +