diff --git a/numbers-csharp/ParseAndTryParseInCSharp/ParseAndTryParseInCSharp/ParseAndTryParseInCSharp.csproj b/numbers-csharp/ParseAndTryParseInCSharp/ParseAndTryParseInCSharp/ParseAndTryParseInCSharp.csproj
index 41f1d5ad4b..a15a29bf12 100644
--- a/numbers-csharp/ParseAndTryParseInCSharp/ParseAndTryParseInCSharp/ParseAndTryParseInCSharp.csproj
+++ b/numbers-csharp/ParseAndTryParseInCSharp/ParseAndTryParseInCSharp/ParseAndTryParseInCSharp.csproj
@@ -2,7 +2,7 @@
Exe
- net6.0
+ net10.0
diff --git a/numbers-csharp/ParseAndTryParseInCSharp/ParseAndTryParseInCSharp/Program.cs b/numbers-csharp/ParseAndTryParseInCSharp/ParseAndTryParseInCSharp/Program.cs
index 82b04c590e..70f8931397 100644
--- a/numbers-csharp/ParseAndTryParseInCSharp/ParseAndTryParseInCSharp/Program.cs
+++ b/numbers-csharp/ParseAndTryParseInCSharp/ParseAndTryParseInCSharp/Program.cs
@@ -1,7 +1,6 @@
-namespace ParseAndTryParseInCSharp
+namespace ParseAndTryParseInCSharp;
+
+public class Program
{
- public class Program
- {
- public static void Main(string[] args) { }
- }
+ public static void Main(string[] args) { }
}
diff --git a/numbers-csharp/ParseAndTryParseInCSharp/Tests/Tests.cs b/numbers-csharp/ParseAndTryParseInCSharp/Tests/Tests.cs
index e711a772ee..cf8b831d95 100644
--- a/numbers-csharp/ParseAndTryParseInCSharp/Tests/Tests.cs
+++ b/numbers-csharp/ParseAndTryParseInCSharp/Tests/Tests.cs
@@ -18,11 +18,11 @@ public void GivenIntParse_WhenValid_ThenConversionSuccess()
[TestMethod]
public void GivenIntParse_WhenInvalid_ThenConversionThrowsException()
{
- Assert.ThrowsException(() => int.Parse("3456.89"));
+ Assert.Throws(() => int.Parse("3456.89"));
- Assert.ThrowsException(() => int.Parse("34343454574745"));
+ Assert.Throws(() => int.Parse("34343454574745"));
- Assert.ThrowsException(() => int.Parse(null));
+ Assert.Throws(() => int.Parse(null!));
}
[TestMethod]
@@ -40,11 +40,11 @@ public void GivenIntParseFormat_WhenInvalid_ThenConversionThrowsException()
var culture = new CultureInfo("en-US");
culture.NumberFormat.PositiveSign = "#";
- Assert.ThrowsException(() => int.Parse("#4567"));
+ Assert.Throws(() => int.Parse("#4567"));
- Assert.ThrowsException(() => int.Parse("$4561", culture));
+ Assert.Throws(() => int.Parse("$4561", culture));
- Assert.ThrowsException(() => int.Parse("#34343454574745", culture));
+ Assert.Throws(() => int.Parse("#34343454574745", culture));
}
[TestMethod]
@@ -60,9 +60,9 @@ public void GivenIntParseStyles_WhenValid_ThenConversionSuccess()
[TestMethod]
public void GivenIntParseStyles_WhenInvalid_ThenConversionThrowsException()
{
- Assert.ThrowsException(() => int.Parse("$45,618", NumberStyles.AllowThousands));
+ Assert.Throws(() => int.Parse("$45,618", NumberStyles.AllowThousands));
- Assert.ThrowsException(() => int.Parse("56.89", NumberStyles.AllowDecimalPoint));
+ Assert.Throws(() => int.Parse("56.89", NumberStyles.AllowDecimalPoint));
}
[TestMethod]
@@ -78,9 +78,9 @@ public void GivenIntParseFormatStyles_WhenValid_ThenConversionSuccess()
[TestMethod]
public void GivenIntParseFormatStyles_WhenInvalid_ThenConversionThrowsException()
{
- Assert.ThrowsException(() => int.Parse("$78,000", NumberStyles.Float, new CultureInfo("en-US")));
+ Assert.Throws(() => int.Parse("$78,000", NumberStyles.Float, new CultureInfo("en-US")));
- Assert.ThrowsException(() => int.Parse("78.567", NumberStyles.AllowDecimalPoint, new CultureInfo("en-US")));
+ Assert.Throws(() => int.Parse("78.567", NumberStyles.AllowDecimalPoint, new CultureInfo("en-US")));
}
[TestMethod]
@@ -96,9 +96,9 @@ public void GivenIntParseFormatStylesSpan_WhenValid_ThenConversionSuccess()
[TestMethod]
public void GivenIntParseFormatStylesSpan_WhenInvalid_ThenConversionThrowsException()
{
- Assert.ThrowsException(() => int.Parse("$78,000".AsSpan(), NumberStyles.Float, new CultureInfo("en-US")));
+ Assert.Throws(() => int.Parse("$78,000".AsSpan(), NumberStyles.Float, new CultureInfo("en-US")));
- Assert.ThrowsException(() => int.Parse("78.567".AsSpan(), NumberStyles.AllowDecimalPoint, new CultureInfo("en-US")));
+ Assert.Throws(() => int.Parse("78.567".AsSpan(), NumberStyles.AllowDecimalPoint, new CultureInfo("en-US")));
}
[TestMethod]
@@ -116,7 +116,7 @@ public void GivenIntTryParse_WhenInvalid_ThenNoExceptionReturnFalse()
Assert.IsFalse(int.TryParse("34343454574745", out int overflowNum));
- Assert.IsFalse(int.TryParse(null, out int nullNum));
+ Assert.IsFalse(int.TryParse((string?)null, out int nullNum));
}
[TestMethod]
@@ -179,6 +179,30 @@ public void GivenIntTryParseFormatStylesSpan_WhenValid_ThenConversionSuccess()
Assert.AreEqual(78, usNum);
}
+ [TestMethod]
+ public void GivenIntTryParseProvider_WhenValid_ThenConversionSuccess()
+ {
+ Assert.IsTrue(int.TryParse("78000", new CultureInfo("en-US"), out int usNum));
+
+ Assert.AreEqual(78000, usNum);
+
+ Assert.IsFalse(int.TryParse("abc", new CultureInfo("en-US"), out int invalidNum));
+
+ Assert.AreEqual(0, invalidNum);
+ }
+
+ [TestMethod]
+ public void GivenIntTryParseUtf8_WhenValid_ThenConversionSuccess()
+ {
+ Assert.IsTrue(int.TryParse("45689"u8, out int result));
+
+ Assert.AreEqual(45689, result);
+
+ Assert.IsFalse(int.TryParse("3456.89"u8, out int formatNum));
+
+ Assert.AreEqual(0, formatNum);
+ }
+
[TestMethod]
public void GivenIntTryParseFormatStylesSpan_WhenInvalid_ThenNoExceptionReturnFalse()
{
diff --git a/numbers-csharp/ParseAndTryParseInCSharp/Tests/Tests.csproj b/numbers-csharp/ParseAndTryParseInCSharp/Tests/Tests.csproj
index baa28473e5..9808d150ac 100644
--- a/numbers-csharp/ParseAndTryParseInCSharp/Tests/Tests.csproj
+++ b/numbers-csharp/ParseAndTryParseInCSharp/Tests/Tests.csproj
@@ -1,17 +1,17 @@
- net6.0
+ net10.0
enable
false
-
-
-
-
+
+
+
+