Вы можете просто создать объект System.Uri и использовать IsFile, чтобы убедиться, что это файл, затем Uri.LocalPath , чтобы извлечь имя файла.
Это намного безопаснее, так как дает вам возможность проверить действительность URI.
Редактировать в ответ на комментарий:
Чтобы получить только полное имя файла, я бы использовал:
Uri uri = new Uri(hreflink);
if (uri.IsFile) {
string filename = System.IO.Path.GetFileName(uri.LocalPath);
}
Это выполняет всю проверку ошибок для вас и не зависит от платформы. Все специальные случаи обрабатываются для вас быстро и легко.