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
+
+
+
+
+
+
+
+