486    {
  487        int num = 0;
  488        ReadOnlySpan<char> readOnlySpan = strToClean;
  489        for (
int i = 0; 
i < readOnlySpan.Length; 
i++)
 
  490        {
  491            char c = readOnlySpan[
i];
 
  493            {
  494                num++;
  495            }
  496        }
  497        if (num == 0)
  498        {
  499            return backingString ?? 
new string(strToClean);
 
  500        }
  501        if (num == strToClean.
Length)
 
  502        {
  503            return string.Empty;
  504        }
  506        {
  507            return string.Create(strToClean.
Length - num, ((IntPtr)ptr, strToClean.
Length), delegate(Span<char> 
buffer, (IntPtr StrToClean, 
int Length) 
state)
 
  508            {
  509                ReadOnlySpan<char> readOnlySpan2 = 
new ReadOnlySpan<char>((
void*)
state.StrToClean, 
state.Length);
 
  510                int num2 = 0;
  511                ReadOnlySpan<char> readOnlySpan3 = readOnlySpan2;
  512                for (int j = 0; j < readOnlySpan3.Length; j++)
  513                {
  514                    char c2 = readOnlySpan3[j];
  516                    {
  518                    }
  519                }
  520            });
  521        }
  522    }
static bool IsBidiControlCharacter(char ch)