@@ -53,7 +53,12 @@ public static AttributeValue FromNullableNumberSet<T>(IEnumerable<T?> numbers, s
5353 where T : struct , INumber < T >
5454 {
5555 if ( numbers . TryGetNonEnumeratedCount ( out var count ) is false )
56- return new AttributeValue { NS = numbers . Select ( x => x . ToString ( ) ) . ToList ( ) } ;
56+ return new AttributeValue
57+ {
58+ NS = numbers
59+ . Select ( x => x . ToString ( ) )
60+ . Where ( x => string . IsNullOrEmpty ( x ) is false ) . ToList ( )
61+ } ;
5762
5863 if ( count is 0 )
5964 return new AttributeValue { NS = [ ] } ;
@@ -68,15 +73,34 @@ public static AttributeValue FromNumberSet<T>(IEnumerable<T> numbers, string? da
6873 where T : struct , INumber < T >
6974 {
7075 if ( numbers . TryGetNonEnumeratedCount ( out var count ) is false )
71- return new AttributeValue { NS = numbers . Select ( x => x . ToString ( ) ) . ToList ( ) } ;
76+ {
77+ var noCapacity = new List < string > ( ) ;
78+
79+ foreach ( var number in numbers )
80+ {
81+ var @string = number . ToString ( ) ;
82+ if ( string . IsNullOrEmpty ( @string ) )
83+ throw ExceptionHelper . NotNull ( $ "{ dataMember } [UNKNOWN]") ;
84+
85+ noCapacity . Add ( @string ) ;
86+ }
87+
88+ return new AttributeValue { NS = noCapacity } ;
89+ }
7290
7391 if ( count is 0 )
7492 return new AttributeValue { NS = [ ] } ;
7593
7694 var list = new List < string > ( count ) ;
7795
78- foreach ( var @string in numbers )
79- list . Add ( @string . ToString ( ) ?? throw ExceptionHelper . NotNull ( $ "{ dataMember } [UNKNOWN]") ) ;
96+ foreach ( var number in numbers )
97+ {
98+ var @string = number . ToString ( ) ;
99+ if ( string . IsNullOrEmpty ( @string ) )
100+ throw ExceptionHelper . NotNull ( $ "{ dataMember } [UNKNOWN]") ;
101+
102+ list . Add ( @string ) ;
103+ }
80104
81105 return new AttributeValue { NS = list } ;
82106 }
0 commit comments