Skip to content

Convert hex string to byte array: .NET 10 and span-bounded pointer loops - #2317

Open
vladimir-pecanac-main wants to merge 2 commits into
CodeMazeBlog:mainfrom
vladimir-pecanac-main:seo/96231-csharp-converting-a-hexadecimal-string-to-a-byte-array
Open

vladimir-pecanac-main wants to merge 2 commits into
CodeMazeBlog:mainfrom
vladimir-pecanac-main:seo/96231-csharp-converting-a-hexadecimal-string-to-a-byte-array

Conversation

@vladimir-pecanac-main

Copy link
Copy Markdown
Collaborator

Moves the ConvertHexStringToByteArray sample from .NET 7 to .NET 10 with current package versions and drops the unused CommunityToolkit.HighPerformance reference. The switch, bit manipulation and lookup methods now stop at the end of the input span rather than at a null character, so a slice of a longer string decodes correctly; the lookup method's exception message no longer names the wrong character; a new test covers the slice case; the console app shows the non-throwing FromHexString overload on an odd-length string; and the benchmark runner now passes command-line arguments to BenchmarkDotNet.

…s by span length

Retarget all four projects to net10.0 and update packages (BenchmarkDotNet 0.15.8,
Microsoft.NET.Test.Sdk 18.11.0, xunit 2.9.3, xunit.runner.visualstudio 4.0.1,
coverlet.collector 10.1.0); remove the unused CommunityToolkit.HighPerformance.
The switch, bit manipulation and lookup methods now stop at the end of the input
span instead of at a null character, the lookup method's exception message no
longer names the wrong character, a test covers a slice of a longer string, the
console app shows the non-throwing FromHexString overload on odd-length input,
and the benchmark runner passes command-line arguments.
…formatting

Whitespace only: a space after the cast in FromHexWithModularArithmetic and no space before
the closing parenthesis of the lookup check, matching the snippets the article prints.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant