C# Get Directories runs slow



.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








-2















foreach (string directory in Directory.GetDirectories(SearchDirectory, "*",SearchOption.TopDirectoryOnly)

//This is slow i have many files/directories here.



i Search through many directories checking textfiles for small amounts of information and the code works fine i just would like to be able to loop through all the directories with a progress bar of some sort that is not lagging the program does not seem to keep up with Directory.GetDirectories. Thanks in advance










share|improve this question

















  • 8





    You can use Directory.EnumerateDirectories to process one after the other instead of pre-loading all.

    – Rango
    Nov 15 '18 at 14:17







  • 1





    @TimSchmelter That wouldn't help with having a progress bar though.

    – DavidG
    Nov 15 '18 at 14:21











  • @Adam Is your problem that calling GetDirectories is slow or that your processing of each one takes time and that's why you want a progress bar?

    – DavidG
    Nov 15 '18 at 14:23











  • progressbar.Invoke a change in value on a progress bar. Calculate a percent based on the number of directories. WinForms or WPF should probably be specified.

    – kenny
    Nov 15 '18 at 14:24






  • 1





    You would need something like a BackgroundWorker to thread the UI interface. There are numerous ways to thread a UI, the BackgroundWorker is just one of the easiest to implement in my opinion. Here's a tutorial on how to use it

    – Chris
    Nov 15 '18 at 14:26


















-2















foreach (string directory in Directory.GetDirectories(SearchDirectory, "*",SearchOption.TopDirectoryOnly)

//This is slow i have many files/directories here.



i Search through many directories checking textfiles for small amounts of information and the code works fine i just would like to be able to loop through all the directories with a progress bar of some sort that is not lagging the program does not seem to keep up with Directory.GetDirectories. Thanks in advance










share|improve this question

















  • 8





    You can use Directory.EnumerateDirectories to process one after the other instead of pre-loading all.

    – Rango
    Nov 15 '18 at 14:17







  • 1





    @TimSchmelter That wouldn't help with having a progress bar though.

    – DavidG
    Nov 15 '18 at 14:21











  • @Adam Is your problem that calling GetDirectories is slow or that your processing of each one takes time and that's why you want a progress bar?

    – DavidG
    Nov 15 '18 at 14:23











  • progressbar.Invoke a change in value on a progress bar. Calculate a percent based on the number of directories. WinForms or WPF should probably be specified.

    – kenny
    Nov 15 '18 at 14:24






  • 1





    You would need something like a BackgroundWorker to thread the UI interface. There are numerous ways to thread a UI, the BackgroundWorker is just one of the easiest to implement in my opinion. Here's a tutorial on how to use it

    – Chris
    Nov 15 '18 at 14:26














-2












-2








-2








foreach (string directory in Directory.GetDirectories(SearchDirectory, "*",SearchOption.TopDirectoryOnly)

//This is slow i have many files/directories here.



i Search through many directories checking textfiles for small amounts of information and the code works fine i just would like to be able to loop through all the directories with a progress bar of some sort that is not lagging the program does not seem to keep up with Directory.GetDirectories. Thanks in advance










share|improve this question














foreach (string directory in Directory.GetDirectories(SearchDirectory, "*",SearchOption.TopDirectoryOnly)

//This is slow i have many files/directories here.



i Search through many directories checking textfiles for small amounts of information and the code works fine i just would like to be able to loop through all the directories with a progress bar of some sort that is not lagging the program does not seem to keep up with Directory.GetDirectories. Thanks in advance







c# performance text-files






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 15 '18 at 14:15









Adam StrobelAdam Strobel

3312




3312







  • 8





    You can use Directory.EnumerateDirectories to process one after the other instead of pre-loading all.

    – Rango
    Nov 15 '18 at 14:17







  • 1





    @TimSchmelter That wouldn't help with having a progress bar though.

    – DavidG
    Nov 15 '18 at 14:21











  • @Adam Is your problem that calling GetDirectories is slow or that your processing of each one takes time and that's why you want a progress bar?

    – DavidG
    Nov 15 '18 at 14:23











  • progressbar.Invoke a change in value on a progress bar. Calculate a percent based on the number of directories. WinForms or WPF should probably be specified.

    – kenny
    Nov 15 '18 at 14:24






  • 1





    You would need something like a BackgroundWorker to thread the UI interface. There are numerous ways to thread a UI, the BackgroundWorker is just one of the easiest to implement in my opinion. Here's a tutorial on how to use it

    – Chris
    Nov 15 '18 at 14:26













  • 8





    You can use Directory.EnumerateDirectories to process one after the other instead of pre-loading all.

    – Rango
    Nov 15 '18 at 14:17







  • 1





    @TimSchmelter That wouldn't help with having a progress bar though.

    – DavidG
    Nov 15 '18 at 14:21











  • @Adam Is your problem that calling GetDirectories is slow or that your processing of each one takes time and that's why you want a progress bar?

    – DavidG
    Nov 15 '18 at 14:23











  • progressbar.Invoke a change in value on a progress bar. Calculate a percent based on the number of directories. WinForms or WPF should probably be specified.

    – kenny
    Nov 15 '18 at 14:24






  • 1





    You would need something like a BackgroundWorker to thread the UI interface. There are numerous ways to thread a UI, the BackgroundWorker is just one of the easiest to implement in my opinion. Here's a tutorial on how to use it

    – Chris
    Nov 15 '18 at 14:26








8




8





You can use Directory.EnumerateDirectories to process one after the other instead of pre-loading all.

– Rango
Nov 15 '18 at 14:17






You can use Directory.EnumerateDirectories to process one after the other instead of pre-loading all.

– Rango
Nov 15 '18 at 14:17





1




1





@TimSchmelter That wouldn't help with having a progress bar though.

– DavidG
Nov 15 '18 at 14:21





@TimSchmelter That wouldn't help with having a progress bar though.

– DavidG
Nov 15 '18 at 14:21













@Adam Is your problem that calling GetDirectories is slow or that your processing of each one takes time and that's why you want a progress bar?

– DavidG
Nov 15 '18 at 14:23





@Adam Is your problem that calling GetDirectories is slow or that your processing of each one takes time and that's why you want a progress bar?

– DavidG
Nov 15 '18 at 14:23













progressbar.Invoke a change in value on a progress bar. Calculate a percent based on the number of directories. WinForms or WPF should probably be specified.

– kenny
Nov 15 '18 at 14:24





progressbar.Invoke a change in value on a progress bar. Calculate a percent based on the number of directories. WinForms or WPF should probably be specified.

– kenny
Nov 15 '18 at 14:24




1




1





You would need something like a BackgroundWorker to thread the UI interface. There are numerous ways to thread a UI, the BackgroundWorker is just one of the easiest to implement in my opinion. Here's a tutorial on how to use it

– Chris
Nov 15 '18 at 14:26






You would need something like a BackgroundWorker to thread the UI interface. There are numerous ways to thread a UI, the BackgroundWorker is just one of the easiest to implement in my opinion. Here's a tutorial on how to use it

– Chris
Nov 15 '18 at 14:26













1 Answer
1






active

oldest

votes


















0














Directory.EnumerateDirectories Helped me enough with what i was trying to accomplish it allowed for a progress bar instead of GetDirectories.






share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function ()
    StackExchange.using("externalEditor", function ()
    StackExchange.using("snippets", function ()
    StackExchange.snippets.init();
    );
    );
    , "code-snippets");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "1"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53321407%2fc-sharp-get-directories-runs-slow%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    Directory.EnumerateDirectories Helped me enough with what i was trying to accomplish it allowed for a progress bar instead of GetDirectories.






    share|improve this answer



























      0














      Directory.EnumerateDirectories Helped me enough with what i was trying to accomplish it allowed for a progress bar instead of GetDirectories.






      share|improve this answer

























        0












        0








        0







        Directory.EnumerateDirectories Helped me enough with what i was trying to accomplish it allowed for a progress bar instead of GetDirectories.






        share|improve this answer













        Directory.EnumerateDirectories Helped me enough with what i was trying to accomplish it allowed for a progress bar instead of GetDirectories.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 27 '18 at 18:01









        Adam StrobelAdam Strobel

        3312




        3312





























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53321407%2fc-sharp-get-directories-runs-slow%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            How to how show current date and time by default on contact form 7 in WordPress without taking input from user in datetimepicker

            Syphilis

            Darth Vader #20