Я использую следующее в большинстве своих приложений (если требуется), чтобы добавить двойные кавычки в начале и конце строки, если есть пробелы.
public string AddQuotesIfRequired(string path)
{
return !string.IsNullOrWhiteSpace(path) ?
path.Contains(" ") && (!path.StartsWith("\"") && !path.EndsWith("\"")) ?
"\"" + path + "\"" : path :
string.Empty;
}
Примеры ..
AddQuotesIfRequired(@"D:\Visual Studio Projects\ProjectOnTFS\ProjectOnTFS");
Возвращает "D:\Visual Studio Projects\ProjectOnTFS\ProjectOnTFS"
AddQuotesIfRequired(@"C:\Test");
Возвращает C:\Test
AddQuotesIfRequired(@"""C:\Test Test\Wrap""");
Возвращает "C:\Test Test\Wrap"
AddQuotesIfRequired(" ");
Возвращает пустую строку
AddQuotesIfRequired(null);
Возвращает пустую строку
РЕДАКТИРОВАТЬ
Согласно предложению, изменили имя функции, а также добавили проверку нулевой ссылки.
Добавлена проверка, чтобы увидеть, существуют ли двойные кавычки в начале и конце строки, чтобы не дублировать.
Изменена функция проверки строки на IsNullOrWhiteSpace
для проверки пробелов, а также пустых или нулевых значений, которые в таком случае будут возвращать пустую строку.