@@ -28,29 +28,32 @@ public static partial class Utf8Formatter
2828 /// </exceptions>
2929 public static bool TryFormat ( Guid value , Span < byte > destination , out int bytesWritten , StandardFormat format = default )
3030 {
31- int flags ;
32-
33- switch ( FormattingHelpers . GetSymbolOrDefault ( format , 'D' ) )
31+ int flags = format . Symbol ;
32+ if ( flags is '\0 ' or 'D' )
3433 {
35- case 'D' : // nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn
36- flags = 36 + Guid . TryFormatFlags_UseDashes ;
37- break ;
38-
39- case 'B' : // {nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn}
40- flags = 38 + Guid . TryFormatFlags_UseDashes + Guid . TryFormatFlags_CurlyBraces ;
41- break ;
34+ // nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn
35+ flags = 36 + Guid . TryFormatFlags_UseDashes ;
36+ }
37+ else
38+ {
39+ switch ( flags )
40+ {
41+ case 'N' : // nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
42+ flags = 32 ;
43+ break ;
4244
43- case 'P ' : // ( nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn)
44- flags = 38 + Guid . TryFormatFlags_UseDashes + Guid . TryFormatFlags_Parens ;
45- break ;
45+ case 'B ' : // { nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn}
46+ flags = 38 + Guid . TryFormatFlags_UseDashes + Guid . TryFormatFlags_CurlyBraces ;
47+ break ;
4648
47- case 'N ' : // nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
48- flags = 32 ;
49- break ;
49+ case 'P ' : // (nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn)
50+ flags = 38 + Guid . TryFormatFlags_UseDashes + Guid . TryFormatFlags_Parens ;
51+ break ;
5052
51- default :
52- ThrowHelper . ThrowFormatException_BadFormatSpecifier ( ) ;
53- goto case 'D' ; // unreachable
53+ default :
54+ ThrowHelper . ThrowFormatException_BadFormatSpecifier ( ) ;
55+ break ; // unreachable
56+ }
5457 }
5558
5659 return value . TryFormatCore ( destination , out bytesWritten , flags ) ;
0 commit comments