2013-03-26 51 views
0

,該過程包括:基礎上<a href="http://msdn.microsoft.com/en-us/library/system.io.directory.enumeratefiles.aspx" rel="nofollow">documentation on MSDN for <code>DirectoryInfo.EnumerateFiles</code></a>如何使用DirectoryInfo.EnumerateFiles

  1. 使用EnumerateFiles方法來檢索文件

有底層類聲明DirectoryInfo與路徑

  • 那根據FileSystemInfo檢索此信息,例如FileInfo

    DirectoryInfo DR = new DirectoryInfo(@"C:\temp\Downloads"); 
    foreach(FileInfo FF in DR.EnumerateFiles()) 
    { 
        textBox1.Text += FF.ToString()+ "\r\n"; 
    } 
    
    1. 如何重碼這個,我可以用它直接 之前申報FileInfo
    2. 如果我要使用List<T>,該如何重新編碼?
    3. 如何讀取列表可枚舉數據?

    感謝

  • +0

    我不清楚你在你的第一個問題是什麼意思。你想要一個變量來保存Fileinfos的列表嗎? – 2013-03-26 15:29:22

    +0

    爲什麼你需要'在使用之前聲明FileInfo'? – Arran 2013-03-26 15:29:35

    +0

    我認爲這是標準的編碼程序?是不是,即使不需要,我將如何預先聲明並將值保存到變量或列表 Fileinfo? – 2013-03-26 15:56:42

    回答

    1
    1. 你爲什麼要?
    2. var list = DR.EnumerateFiles().ToList();
    +0

    EnumerateFiles返回一個枚舉器(一個'IEnumerator ')。它代表了一系列的項目;當你使用'foreach'時,他們懶洋洋地回來了。底層構造是一個迭代器塊(可能使用「yield」)。 – 2013-03-26 15:48:23

    +0

    問題:我想學習所有可能的方法來讀取來自 - > enumeratefiles 傳入信息什麼是在這裏,返回是一個數組或對象? 我如何通過一個使用enumeratefiles(沒有特別的理由來使用這一個)讀取傳入內容之一 ,什麼是使用VAR LINQ(我對內容沒有知名度使用 1)最好的方式,我不得不放棄使用列表參數 2),(我試圖找出這一個)(我可以有一個例子與列表 希望我所有做一些感覺這裏 – 2013-03-26 15:49:22

    +0

    感謝,這讓我有了一個開始。感謝您的投入,您可以按照解決方案關閉此門票。 – 2013-04-05 10:36:18

    0

    這還不是所有的清除你正在嘗試做的,但儘管如此,你不能使用它之前聲明它「,通過執行以下:

    DirectoryInfo DR = new DirectoryInfo(@"C:\temp\Downloads"); 
    List<string> filePaths = DR.EnumerateFiles(); 
    IEnumerable<FileInfo> fileInfos = filePaths.Select(f => new FileInfo(f)); 
    foreach(FileInfo fileInfo in fileInfos) 
    { 
        textBox1.Text += fileInfo.FullName.ToString()+ "\r\n"; 
    } 
    

    (即,只要將申報 foreach循環)

    由於EnumerateFiles返回完整路徑的文件,所以您需要創建FileInfo實例,您可以使用爲您提供的構造函數來執行此操作。

    要做到「名單」咬你已經講了,你只需要添加ToList()和LINQ將做的工作適合你:

    List<FileInfo> fileInfos = filePaths.Select(f => new FileInfo(f)).ToList(); 
    
    +0

    感謝所有人,這讓我有一個開始。感謝您的意見,您可以按照解決方案關閉此門票。 – 2013-04-05 10:35:47

    相關問題