using System;
using System.IO;
namespace GetFilesFromDirectory
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Write your Name of Disc");
string myDisc = Console.ReadLine();
string myDisc1 = "@\"";
Console.WriteLine("Write your Directory");
string myDir1 = Console.ReadLine();
string myDir = ":\\";
string myDir2 = "\\\"";
string myPath = myDisc1 + myDisc + myDir + myDir1 + myDir2;
Console.WriteLine(myPath);
string[] filePaths = Directory.GetFiles(myPath);
foreach (var files in filePaths)
{
Console.WriteLine(files);
}
Console.ReadLine();
}
}
}
回答
從我可以告訴你的myPath
看起來就像@"discName:\dirName\"
,你不需要追加@"
或"
。
這些符號用於在創建新字符串變量時注意這是一個String literal,但是您要將這些字符包含在要生成的實際字符串中。
換句話說,除去比那還好myDisc1
和myDir2
,由DrKoch
string myPath = Path.Combine(myDisc + @":\", myDir1);
其實你需要在myDisc之後添加「:\\」 –
如果路徑是驅動器引用,則不會添加斜槓http://stackoverflow.com/questions/19909008/path-combine-does-not-add-目錄分隔符後驅動器字母 –
@alessiobortolato - 道歉,謝謝 – Sayse
指出試試這個
static void Main(string[] args)
{
Console.WriteLine("Write your Name of Disc");
//You need to add :\ to make it a fullPath
string myDisc = Console.ReadLine()+":\\";
Console.WriteLine("Write your Directory");
string myDir1 = Console.ReadLine();
string myPath = Path.Combine(myDisc , myDir1);
Console.WriteLine(myPath);
string[] filePaths = Directory.GetFiles(myPath);
foreach (var files in filePaths)
{
Console.WriteLine(files);
}
Console.ReadLine();
}
你在做什麼是創建一個字符串至極是你想要的字符串的字面意思,但你不需要這樣做。
例如,如果你這樣寫:
string [email protected]"c:\dir\subdir";
其真正的價值將是c:\dir\subdir
代替本"@\"c:\\dir\\subdir\""
;將 @"c:\dir\subdir"
閱讀這些文章,以更好地理解字符串和逐字字符串https://msdn.microsoft.com/en-us/library/aa691090(v=vs.71).aspx
https://msdn.microsoft.com/en-us/library/362314fe.aspx
https://msdn.microsoft.com/en-us/library/h21280bw.aspx
- 1. 爲什麼getline不接受輸入
- 2. 爲什麼OPENQUERY不接受變量?
- 3. $#作爲Perl輸入接受什麼?
- 4. 接受用戶輸入的變量
- 5. 爲什麼掃描儀不能接受println上的輸入?
- 6. 爲什麼我的客戶端不會再接受輸入
- 7. 爲什麼我的控件不能接受鍵盤輸入?
- 8. 爲什麼JSON不接受我的PHP變量?
- 9. 爲什麼這個數組不接受用戶輸入?
- 10. 爲什麼login命令不接受管道標準輸入?
- 11. Google Cloud SDK Shell不接受輸入 - 爲什麼?
- 12. 爲什麼此數字輸入字段不接受逗號
- 13. 爲什麼UiKit組件不接受角度輸入?
- 14. 爲什麼WHERE子句不接受變量? Laravel 5.3
- 15. 爲什麼Internet Explorer 11不接受這個clickTAG flash變量?
- 16. stringName.next()接受用戶的輸入,但stringName.nextLine()不接受。有什麼不同? (Java)
- 17. scala case類接受什麼輸入?
- 18. 爲什麼局部變量變量不受尊重?
- 19. 爲什麼我從受控輸入切換到不受控輸入
- 20. 可以讀取主機接受一個變量作爲輸入?
- 21. 爲什麼stackalloc接受可變長度?
- 22. 爲什麼谷歌距離矩陣不接受我的變量作爲位置?
- 23. 使用輸入()接受未知數量的變量()
- 24. 爲什麼不會變量連接?
- 25. 爲什麼GLatLng()不接收變量?
- 26. 爲什麼變量不變?
- 27. 爲什麼變量不會傳入jQuery.each?
- 28. cin不接受輸入作爲ENTER
- 29. Python curses不接受curses.KEY_UP作爲輸入
- 30. 爲什麼Facebook不接受我的UIImage?
你可能會做出錯誤的路徑,調試,看看你有mypath中調用的GetFiles之前。這個myPath值應該打開給定的文件夾 – Adil
你的問題到底是什麼?你有編譯器錯誤嗎?邏輯錯誤?你期望發生什麼,發生了什麼? – nvoigt
顯示至少一個'myPath'的內容示例 – DrKoch