В структуре не будет большого преимущества по сравнению с классом.
Структуры идеально подходят для реализаций типов memcpy / memcmp, а в случае HttpMethod
это не обязательно.
, еслиЕсли вы посмотрите на реализацию ядра .net https://github.com/dotnet/corefx/blob/master/src/System.Net.Http/src/System/Net/Http/HttpMethod.cs, то увидите, что он использует проверку равенства ссылок для сравнения экземпляров, что несколько быстрее, чем сравнение строк.Со структурами это было бы невозможно ... Поскольку большинство экземпляров структуры на самом деле были бы разными экземплярами, и им приходилось бы сравнивать строковые значения.
Учитывая, что строковые значения метода HTTP не очень длинные, на самом деле других нет.Преимущества структуры здесь, поскольку она содержит только одну строковую ссылку, и большинство экземпляров HttpMethod будут экземплярами статических полей класса HttpMethod.
Это также может быть простая строка, но тогда это не поможет в разрешении методовво время компиляции и тому подобное.