417 {
418 DTSubString result = default(DTSubString);
419 result.index =
Index;
422 {
424 DTSubStringType dTSubStringType = ((c <
'0' || c >
'9') ? DTSubStringType.Other : DTSubStringType.
Number);
425 if (result.length == 0)
426 {
427 result.type = dTSubStringType;
428 }
429 else if (result.type != dTSubStringType)
430 {
431 break;
432 }
433 result.length++;
434 if (dTSubStringType != DTSubStringType.Number)
435 {
436 break;
437 }
438 if (result.length > 8)
439 {
440 result.type = DTSubStringType.Invalid;
441 return result;
442 }
443 int num = c - 48;
444 result.value = result.value * 10 + num;
445 }
446 if (result.length == 0)
447 {
448 result.type = DTSubStringType.End;
449 return result;
450 }
451 return result;
452 }
ReadOnlySpan< char > Value