@@ -319,33 +319,40 @@ public EnumValueCaseIgnored(StringSegment value)
319319 /// <summary>
320320 /// Compares an EnumValueCaseIgnored and EnumValue for enum inequality.
321321 /// </summary>
322- public static bool operator != ( EnumValueCaseIgnored < TEnum > left , EnumValue < TEnum > right ) => ! left . Value . Equals ( right . Value ) ;
322+ public static bool operator != ( EnumValueCaseIgnored < TEnum > left , EnumValue < TEnum > right )
323+ => ! left . Value . Equals ( right . Value ) ;
323324
324325 /// <inheritdoc cref="EnumValue{TEnum}.Equals(EnumValue{TEnum})"/>
325- public bool Equals ( EnumValueCaseIgnored < TEnum > other ) => Value . Equals ( other . Value ) ;
326+ public bool Equals ( EnumValueCaseIgnored < TEnum > other )
327+ => Value . Equals ( other . Value ) ;
326328
327329 /// <summary>
328330 /// Compares two EnumValueCaseIgnored for enum equality.
329331 /// </summary>
330- public static bool operator == ( EnumValueCaseIgnored < TEnum > left , EnumValueCaseIgnored < TEnum > right ) => left . Value . Equals ( right . Value ) ;
332+ public static bool operator == ( EnumValueCaseIgnored < TEnum > left , EnumValueCaseIgnored < TEnum > right )
333+ => left . Value . Equals ( right . Value ) ;
331334
332335 /// <summary>
333336 /// Compares two EnumValueCaseIgnored for enum inequality.
334337 /// </summary>
335- public static bool operator != ( EnumValueCaseIgnored < TEnum > left , EnumValueCaseIgnored < TEnum > right ) => ! left . Value . Equals ( right . Value ) ;
338+ public static bool operator != ( EnumValueCaseIgnored < TEnum > left , EnumValueCaseIgnored < TEnum > right )
339+ => ! left . Value . Equals ( right . Value ) ;
336340
337341 /// <inheritdoc cref="EnumValue{TEnum}.Equals(TEnum)"/>
338- public bool Equals ( TEnum other ) => Value . Equals ( other ) ;
342+ public bool Equals ( TEnum other )
343+ => Value . Equals ( other ) ;
339344
340345 /// <summary>
341346 /// Compares an EnumValueCaseIgnored and an enum value for enum equality.
342347 /// </summary>
343- public static bool operator == ( EnumValueCaseIgnored < TEnum > left , TEnum right ) => left . Value . Equals ( right ) ;
348+ public static bool operator == ( EnumValueCaseIgnored < TEnum > left , TEnum right )
349+ => left . Value . Equals ( right ) ;
344350
345351 /// <summary>
346352 /// Compares an EnumValueCaseIgnored and an enum value for enum inequality.
347353 /// </summary>
348- public static bool operator != ( EnumValueCaseIgnored < TEnum > left , TEnum right ) => ! left . Value . Equals ( right ) ;
354+ public static bool operator != ( EnumValueCaseIgnored < TEnum > left , TEnum right )
355+ => ! left . Value . Equals ( right ) ;
349356
350357 /// <inheritdoc />
351358 public override bool Equals ( object ? obj )
@@ -354,28 +361,33 @@ public override bool Equals(object? obj)
354361 || obj is EnumValue < TEnum > v2 && Value . Equals ( v2 . Value ) ;
355362
356363 /// <inheritdoc />
357- public override int GetHashCode ( ) => Value . GetHashCode ( ) ;
364+ public override int GetHashCode ( )
365+ => Value . GetHashCode ( ) ;
358366
359367 /// <summary>
360368 /// Implicitly converts an EnumValue to an EnumValueCaseInsensitive.
361369 /// Before conversion they are already equivalent.
362370 /// </summary>
363- public static implicit operator EnumValueCaseIgnored < TEnum > ( EnumValue < TEnum > value ) => new ( value . Value ) ;
371+ public static implicit operator EnumValueCaseIgnored < TEnum > ( EnumValue < TEnum > value )
372+ => new ( value . Value ) ;
364373
365374 /// <summary>
366375 /// Implicitly returns the actual enum contained by the EnumValueCaseIgnored.
367376 /// </summary>
368- public static implicit operator TEnum ( EnumValueCaseIgnored < TEnum > value ) => value . Value ;
377+ public static implicit operator TEnum ( EnumValueCaseIgnored < TEnum > value )
378+ => value . Value ;
369379
370380 /// <summary>
371381 /// Implicitly converts an string to an EnumValueCaseIgnored of enum type TEnum.
372382 /// </summary>
373- public static implicit operator EnumValueCaseIgnored < TEnum > ( StringSegment value ) => new ( value ) ;
383+ public static implicit operator EnumValueCaseIgnored < TEnum > ( StringSegment value )
384+ => new ( value ) ;
374385
375386 /// <summary>
376387 /// Implicitly converts an string to an EnumValueCaseIgnored of enum type TEnum.
377388 /// </summary>
378- public static implicit operator EnumValueCaseIgnored < TEnum > ( string value ) => new ( value ) ;
389+ public static implicit operator EnumValueCaseIgnored < TEnum > ( string value )
390+ => new ( value ) ;
379391
380392 private string GetDebuggerDisplay ( )
381393 {
@@ -465,7 +477,9 @@ public static bool TryParse<TEnum>(StringSegment value, bool ignoreCase, out TEn
465477 if ( r is null ) goto notFound ;
466478 Debug . Assert ( r . Length != 0 ) ;
467479
468- var sc = ignoreCase ? StringComparison . OrdinalIgnoreCase : StringComparison . Ordinal ;
480+ var sc = ignoreCase
481+ ? StringComparison . OrdinalIgnoreCase
482+ : StringComparison . Ordinal ;
469483
470484 if ( r . Length > 64 )
471485 goto binarySearch ;
@@ -511,15 +525,16 @@ public static bool TryParse<TEnum>(StringSegment value, bool ignoreCase, out TEn
511525 return true ;
512526 }
513527
514- span = span . Slice ( 0 , 1 ) ;
528+ span = span . Slice ( 1 , 1 ) ;
515529 goto search ;
516530 }
517531
518532 default :
519533 {
520534 int i = span . Length / 2 ;
521- var ( Name , Value ) = r [ i ] ;
522- switch ( ( StringSegment . Compare ( value , Name , sc ) >> 31 ) | 1 )
535+ var ( Name , Value ) = span [ i ] ;
536+ var comparison = StringSegment . Compare ( value , Name , sc ) ;
537+ switch ( Math . Sign ( comparison ) )
523538 {
524539 case 0 :
525540 e = Value ;
0 commit comments