1111
1212using System ;
1313using System . Collections . Generic ;
14+ using System . Globalization ;
1415using System . IO ;
1516using System . Text ;
1617
@@ -142,16 +143,16 @@ private static IDictionary<int, IDictionary<int, int[]>> PopulateParseTable ()
142143 {
143144 // See section A.2. of the manual for details
144145 IDictionary < int , IDictionary < int , int [ ] > > parse_table = new Dictionary < int , IDictionary < int , int [ ] > > ( ) ;
145-
146+
146147 TableAddRow ( parse_table , ParserToken . Array ) ;
147148 TableAddCol ( parse_table , ParserToken . Array , '[' ,
148149 '[' ,
149150 ( int ) ParserToken . ArrayPrime ) ;
150-
151+
151152 TableAddRow ( parse_table , ParserToken . ArrayPrime ) ;
152153 TableAddCol ( parse_table , ParserToken . ArrayPrime , '"' ,
153154 ( int ) ParserToken . Value ,
154-
155+
155156 ( int ) ParserToken . ValueRest ,
156157 ']' ) ;
157158 TableAddCol ( parse_table , ParserToken . ArrayPrime , '[' ,
@@ -180,46 +181,46 @@ private static IDictionary<int, IDictionary<int, int[]>> PopulateParseTable ()
180181 ( int ) ParserToken . Value ,
181182 ( int ) ParserToken . ValueRest ,
182183 ']' ) ;
183-
184+
184185 TableAddRow ( parse_table , ParserToken . Object ) ;
185186 TableAddCol ( parse_table , ParserToken . Object , '{' ,
186187 '{' ,
187188 ( int ) ParserToken . ObjectPrime ) ;
188-
189+
189190 TableAddRow ( parse_table , ParserToken . ObjectPrime ) ;
190191 TableAddCol ( parse_table , ParserToken . ObjectPrime , '"' ,
191192 ( int ) ParserToken . Pair ,
192193 ( int ) ParserToken . PairRest ,
193194 '}' ) ;
194195 TableAddCol ( parse_table , ParserToken . ObjectPrime , '}' ,
195196 '}' ) ;
196-
197+
197198 TableAddRow ( parse_table , ParserToken . Pair ) ;
198199 TableAddCol ( parse_table , ParserToken . Pair , '"' ,
199200 ( int ) ParserToken . String ,
200201 ':' ,
201202 ( int ) ParserToken . Value ) ;
202-
203+
203204 TableAddRow ( parse_table , ParserToken . PairRest ) ;
204205 TableAddCol ( parse_table , ParserToken . PairRest , ',' ,
205206 ',' ,
206207 ( int ) ParserToken . Pair ,
207208 ( int ) ParserToken . PairRest ) ;
208209 TableAddCol ( parse_table , ParserToken . PairRest , '}' ,
209210 ( int ) ParserToken . Epsilon ) ;
210-
211+
211212 TableAddRow ( parse_table , ParserToken . String ) ;
212213 TableAddCol ( parse_table , ParserToken . String , '"' ,
213214 '"' ,
214215 ( int ) ParserToken . CharSeq ,
215216 '"' ) ;
216-
217+
217218 TableAddRow ( parse_table , ParserToken . Text ) ;
218219 TableAddCol ( parse_table , ParserToken . Text , '[' ,
219220 ( int ) ParserToken . Array ) ;
220221 TableAddCol ( parse_table , ParserToken . Text , '{' ,
221222 ( int ) ParserToken . Object ) ;
222-
223+
223224 TableAddRow ( parse_table , ParserToken . Value ) ;
224225 TableAddCol ( parse_table , ParserToken . Value , '"' ,
225226 ( int ) ParserToken . String ) ;
@@ -235,15 +236,15 @@ private static IDictionary<int, IDictionary<int, int[]>> PopulateParseTable ()
235236 ( int ) ParserToken . False ) ;
236237 TableAddCol ( parse_table , ParserToken . Value , ( int ) ParserToken . Null ,
237238 ( int ) ParserToken . Null ) ;
238-
239+
239240 TableAddRow ( parse_table , ParserToken . ValueRest ) ;
240241 TableAddCol ( parse_table , ParserToken . ValueRest , ',' ,
241242 ',' ,
242243 ( int ) ParserToken . Value ,
243244 ( int ) ParserToken . ValueRest ) ;
244245 TableAddCol ( parse_table , ParserToken . ValueRest , ']' ,
245246 ( int ) ParserToken . Epsilon ) ;
246-
247+
247248 return parse_table ;
248249 }
249250
@@ -268,7 +269,7 @@ private void ProcessNumber (string number)
268269 number . IndexOf ( 'E' ) != - 1 ) {
269270
270271 double n_double ;
271- if ( Double . TryParse ( number , out n_double ) ) {
272+ if ( double . TryParse ( number , NumberStyles . Any , CultureInfo . InvariantCulture , out n_double ) ) {
272273 token = JsonToken . Double ;
273274 token_value = n_double ;
274275
@@ -277,23 +278,23 @@ private void ProcessNumber (string number)
277278 }
278279
279280 int n_int32 ;
280- if ( Int32 . TryParse ( number , out n_int32 ) ) {
281+ if ( int . TryParse ( number , NumberStyles . Integer , CultureInfo . InvariantCulture , out n_int32 ) ) {
281282 token = JsonToken . Int ;
282283 token_value = n_int32 ;
283284
284285 return ;
285286 }
286287
287288 long n_int64 ;
288- if ( Int64 . TryParse ( number , out n_int64 ) ) {
289+ if ( long . TryParse ( number , NumberStyles . Integer , CultureInfo . InvariantCulture , out n_int64 ) ) {
289290 token = JsonToken . Long ;
290291 token_value = n_int64 ;
291292
292293 return ;
293294 }
294295
295296 ulong n_uint64 ;
296- if ( UInt64 . TryParse ( number , out n_uint64 ) )
297+ if ( ulong . TryParse ( number , NumberStyles . Integer , CultureInfo . InvariantCulture , out n_uint64 ) )
297298 {
298299 token = JsonToken . Long ;
299300 token_value = n_uint64 ;
0 commit comments