2012-10-25 63 views
0

我有這個功能,我需要它在列表中格式化字符串要以http://在開頭:我如何格式化列表中的每個字符串?

 private List<string> offline(string targetDirectory) 
     { 

      List<string> directories = new List<string>(); 

      try 
      { 
       string[] dirs = Directory.GetDirectories(targetDirectory, "*.*", SearchOption.TopDirectoryOnly); 
       for (int i = 0; i < dirs.Length; i++) 
       { 

        directories.Add(dirs[i]); 
       } 
      } 
      catch 
      { 

      }   
      return directories;  
     } 

功能在硬盤返回目錄的字符串列表。 像c:\c:\windows

我想,在年底的列表將代替c:\\index[0]c:\\windowsindex[1]被格式化爲:http://c:\http://c:\windowshttp://c:\temp所以每個字符串列表會以http://在一開始的時候。

我該怎麼辦?

回答

3

所以每個字符串的List都會以http://開頭。

List<string> newList = directories.Select(r=> "http://" + r).ToList(); 

或者

var list2 = directories.Select(r => string.Concat("http://", r)).ToList(); 
+0

非常優雅的使用linq。但是,如果OP無法找出一個簡單的「'http://」+ my_old_text'連接,那麼一次學習可能太多了:-( – mjv

0

爲什麼同時添加到列表中未追加

directories.Add("http://" + dirs[i]); 

或者

return directories.Select(rs=> "http://" + rs).ToList() 

或者

directories.ForEach(rs=>rs= "http://" + rs); 
return directories; 
+0

Right,更新了代碼 – hungryMind

相關問題