Скажем, у меня естьПолучить разницу в 2 Контуры
string path1 = "C:\\apples";
string path2 = "C:\apples\blah\meh.jpg";
Как я мог бы получить:
string diff = "\blah\meh.jpg";
Благодаря
Скажем, у меня естьПолучить разницу в 2 Контуры
string path1 = "C:\\apples";
string path2 = "C:\apples\blah\meh.jpg";
Как я мог бы получить:
string diff = "\blah\meh.jpg";
Благодаря
Если путь действительно содержит двойные слеши (которые, как правило, не бывает):
Заменитьс \
в path1
Заменить path1
с Empty String
в path2
string diff = path2.Replace(path1.Replace(@"\\", @"\"), "");
В противном случае:
string diff = path2.Replace(path1, "");
Как вы справляетесь с двумя «\\» подряд, вы заметили, что мой первый «C: \\ apple» – jmasterx
ваше решение не будет выполнено в определенных случаях. –
@Milo в 'path2' также вы должны использовать" \\». В противном случае это приведет к ошибке: непризнанная пространственная последовательность. –
Ofcourse Я могу придумать множество способов, чтобы свернуть на это сам, но я хочу знать способ эффективного использования .NET. – jmasterx
Несколько секунд в google - ['Path.GetFullPath'] (http://msdn.microsoft.com/en-us/library/system.io.path.getfullpath%28v=vs.110%29.aspx) + http : //rosettacode.org/wiki/Find_common_directory_path#C.23 – dbc
@Milo: так что заведите его и перейдите на http://codereview.stackexchange.com/. Если у вас есть проблема, спросите здесь. Если вы его решили, но хотите, чтобы он был рассмотрен: перейдите к CR. Если вы не сделали попытку: сделайте это. –