Собственно, эта тема - о реализации шаблона "обход коллекции с фильтрацией элементов".
Вот кусок кодаотсюда. Раньше, увидев continue, я бы оценил этот кусок, скажем так, весьма скептически. А сейчас могу сказать, что это просто реализация шаблона: фильтрация пустых элементов.
## Код:
```
foreach (var part in parts) {
    if (string.IsNullOrEmpty(part))
        continue;

    if (result.EndsWith("?") || part.StartsWith("?"))
        result = CombineEnsureSingleSeperator(result, part, '?');
    else if (result.EndsWith("#") || part.StartsWith("#"))
        result = CombineEnsureSingleSeperator(result, part, '#');
    else if (inFragment)
        result += part;
    else if (inQuery)
        result = CombineEnsureSingleSeperator(result, part, '&');
    else
        result = CombineEnsureSingleSeperator(result, part, '/');

    if (part.Contains("#")) {
        inQuery = false;
        inFragment = true;
    }
    else if (!inFragment && part.Contains("?")) {
        inQuery = true;
    }
}
```
