Path.Combine создает путь, подверженный ошибкамC#

Место общения программистов C#
Ответить
Anonymous
 Path.Combine создает путь, подверженный ошибкам

Сообщение Anonymous »

В моем проекте я создал класс, который содержит определенные строки, такие как:

Код: Выделить всё

namespace foo
{
public class Keys
{
public const string SubFolder= "bar";
public const string rootDir = Environment.GetEnvironmentVariable("buz");
}
}
Позже я хочу объединить эти строки в путь

Код: Выделить всё

namespace foo
{
public class FileLoader
{
public string FileName { get; }
public string FilePath { get; }
public XmlDocument FileXML { get; set; }
internal FileLoader(string _FileName)
{
this.FileName = _FileName; // "qux"
this.FilePath = Path.Combine(Keys.rootDir, Keys.SubFolder, this.FileName);
try
{
this.FileXml.Load(this.FilePath);
}
catch {throw new Exception($"Couldn't load {this.FileName} from path {this.FilePath}")}
}
}
Это всегда происходит в виде исключения, поскольку this.FilePath = "C:\\rootToBuz\\bar\\qux.xml"
содержит эти двойные обратные косые черты . Где я неправильно использую Path.Combine? Конечно, я мог бы заменить эти двойные обратные косые черты регулярным выражением на одну, но в этом нет реальной проблемы, верно?

Подробнее здесь: https://stackoverflow.com/questions/792 ... prone-path
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»