Таким образом, я пытаюсь создать путь в C#. Я использую Среду. Machinename и хранилище это переменное имя сервера. Затем я создаю другую строковую переменную и имею некоторое другое расширение пути там. Вот мой код до сих пор:
string serverName = Environment.MachineName;
string folderName = "\\AlarmLogger";
Независимо от того, что я делаю я, может казаться, не получаю только одну обратную косую черту до AlarmLogger. Какие-либо идеи, как я могу указать путь в C#?
Править: Я задаюсь вопросом, хочет ли мой код, кажется, не вставить правильно. Так или иначе, когда я вставляю его, я только вижу одну обратную косую черту, но мой код имеет два. Из-за последовательности символа ESC. Но что-то как
string test = @"\\" + serverName + folderName
кажется, не хочет работать на меня.
Используйте Path.Combine (serverName, folderName)
. Path.Combine - всегда лучшее решение, чем его собственное объединение.
Непонятно, что вы пытаетесь сделать или что происходит не так.
Если у вас возникли проблемы с включением обратной косой черты в ваши строки, их нужно экранировать с помощью дополнительной обратной косой черты:
string twoBackslashes = "\\\\";
Или вы можете сделать это следующим образом:
string twoBackslashes = @"\\";
Если вы пытаетесь манипулировать путями, посмотрите на System.IO.Path класс. В частности, может оказаться полезным Path.Combine .
Вы не можете использовать Path.Combine для этого, как было предложено. Причина в том, что он игнорирует статические переменные, если первая запись статическая, например Environment.MachineName (подробности см. в документации MSDN). Если вы используете Path.Combine(servername, foldername), вы получите "\AlarmLogger". Кроме того, он разбирает двойные косые черты на одинарные.
Учитывая это, вы можете сделать что-то вроде следующего (среди прочих способов):
string serverName = Environment.MachineName;
string folderName = "\\\\AlarmLogger"; //this gives alarmlogger two leading slashes
string test = @"\\" + serverName + folderName.Substring(1,folderName.Length-1); //this removes one of the two leading slashes
Вы можете использовать множество способов удаления ведущей косой черты, кроме подстроки.