Меня поразило очень странное поведение метода System.IO.Directory.GetParent
:
string path1 = @"C:\foo\bar";
DirectoryInfo parent1 = Directory.GetParent(path1);
Console.WriteLine (parent1.FullName); // Prints C:\foo, as expected
// Notice the extra backslash. It should still refer to the same location, right ?
string path2 = @"C:\foo\bar\";
DirectoryInfo parent2 = Directory.GetParent(path2);
Console.WriteLine (parent2.FullName); // Prints C:\foo\bar !!!
Я бы подумал, что это ошибка, но этот метод существует с 1.0, поэтому я предполагаю, что он был бы обнаружен к настоящему времени. С другой стороны, если он сконструирован, я не могу представить разумного объяснения для такого дизайна...
Как вы думаете? Это ошибка? Если нет, как вы объясните это поведение?