Я пытаюсь создать путь, используя Path.Combine()
, но я получаю неожиданные результаты.Path.Combine() возвращает неожиданные результаты
using System;
using System.IO;
namespace PathCombine_Delete
{
class Program
{
static void Main(string[] args)
{
string destination = "D:\\Directory";
string destination02 = "it";
string path = "L:\\MyFile.pdf";
string sourcefolder = "L:\\";//In other instances, it could be L:\\SomeFolder\AndMayBeAnotherFolder
string replacedDetails = path.Replace(sourcefolder + "\\", "");
string result = Path.Combine(destination, destination02, replacedDetails);
Console.WriteLine(result);
Console.ReadKey();//Keep it on screen
}
}
}
Я ожидал бы результат D:\\Directory\it\MyFile.pdf
, но вместо этого, я получаю L:\MyFile.pdf
Я не могу понять, почему? Я признаю, что здесь поздно вечером, но все же, я использовал Path.Combine много раз, а с .NET 4.0 он позволяет передать параметр строки. Однако он, кажется, игнорирует первые 2 и только читает последнее.
Возможно, он использует только последний доступный корневой узел. – Magus
Можете ли вы объяснить, желательно, чтобы некоторые примеры ввода и вывода, что этот код должен делать? – CodeCaster