2015-01-08 2 views
0

Я пытаюсь объединить адрес, чья 1 часть извлекается в строке 15 следующего кода, а другая часть из строки 19. Я хочу добавить разделитель адресов «\» в промежутке между как .. но я не в состоянии из-за какой-то ошибки .. может кто-нибудь помочь мне в этом .. спасибо .. :) вот мой кодконкатенация адресных строк в C#

using System; 
using System.Collections.Generic; 
//using System.Linq; 
using System.Text; 
using System.IO; 

namespace freshtry 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      int count = 0; 
      string[] filepath= Directory.GetFiles(@"D:\project\Benten_lat\BentenPj_000_20141124_final\Testing\DPCPlus\output\msvs", "*.wav"); 
      string folder1 = @"D:\project\Benten_lat\BentenPj_000_20141124_final\Testing\DPCPlus\output\msvs"; 
      foreach(string file in filepath) 
      { 
       //string addr = "\"; 
       string filename = System.IO.Path.GetFileName(file); 
       string filename1 = folder1 + "\" + filename; 
       Console.WriteLine(filename1); 
       //string.Concat(folder1,"\"); 
       count++; 
      } 
      //Console.WriteLine(count); 
      Console.ReadLine(); 
     } 
    }  
} 

и еще одна вещь, которую я не хочу добавить дополнительные каталоги, которые не работают с .net 2.0. :)

+0

Можете ли вы предоставить пример вывода, пожалуйста? –

+0

Какая ошибка вы получаете? – Sayse

+0

Прошу пояснить «некоторые ошибки». – Sybren

ответ

9

Код:

string filename1 = folder1 + "\" + filename; 

недействителен, так как \ является символом эвакуации. Вы можете либо сбрасывать обратную косую черту, используя \\, либо использовать символ @ для предотвращения экранирования: @"\".

Вы также можете посмотреть метод Path.Combine(), который является лучшим способом для достижения этой цели.

+0

спасибо за ответ .. он успешно работает .. :) – user3582072

1

простой ответ: Используйте двойной обратный слэш

string filename1 = folder1 + "\\" + filename; 

Лучше ответ: Используйте

string filename1 = Path.Combine(folder1, filename); 
0

Вам нужно сделать, как

string filename1 = folder1 + "\\" + filename; 

Или

string filename1 = string.Concat(folder1, "\\", filename);