355 {
356 SequenceReader<T> sequenceReader = this;
358 bool flag = false;
359 do
360 {
362 {
363 if (!(
index == 0 && flag))
364 {
366 {
367 int num = 1;
368 int num2 =
index - 2;
369 while (num2 >= 0 && span[num2].
Equals(delimiterEscape))
370 {
371 num2--;
372 }
373 if (num2 < 0 && flag)
374 {
375 num++;
376 }
377 num +=
index - 2 - num2;
378 if (((uint)num & (true ? 1u : 0u)) != 0)
379 {
381 flag = false;
383 goto IL_01bd;
384 }
385 }
388 if (advancePastDelimiter)
389 {
391 }
392 return true;
393 }
394 flag = false;
397 }
398 else
399 {
400 if (span.Length > 0 && span[span.Length - 1].Equals(delimiterEscape))
401 {
402 int num3 = 1;
403 int num4 = span.Length - 2;
404 while (num4 >= 0 && span[num4].
Equals(delimiterEscape))
405 {
406 num4--;
407 }
408 num3 += span.Length - 2 - num4;
409 flag = ((!(num4 < 0 && flag)) ? ((num3 & 1) != 0) : ((num3 & 1) == 0));
410 }
411 else
412 {
413 flag = false;
414 }
417 }
418 goto IL_01bd;
419 IL_01bd:
420 index = span.IndexOf(delimiter);
421 }
423 this = sequenceReader;
424 sequence = default(ReadOnlySequence<T>);
425 return false;
426 }
ReadOnlySequence< T > Sequence
readonly ReadOnlySpan< T > UnreadSpan
ReadOnlySpan< T > CurrentSpan
void AdvanceCurrentSpan(long count)