В Linux, например, sudo означает «выполнить команду от имени суперпользователя». То есть, в этом комиксе имеется ввиду, что человек, произносящий sudo — самый главный.
Скажите, пожалуйста, зачем вы используете Task.Factory + городите лишнее, когда для подобных целей придумали Parallel.For? В особенности, если вам только индекс нужен.
Parallel.For — это первое, что я попробовал. Но он служит для распараллеливания CPU-интенсивных задач, и будет использовать количество потоков в соответствии с количеством ядер. Нам же нужно распараллелить операции ввода-вывода.
Упс, похоже, я был не прав. Опция MaxDegreeOfParallelism позволяет распараллелить настолько, насколько нужно, только что проверил.
Значит, действительно, можно упростить.
Я не сомневался, что в каментах объявится обладатель книги с WiFi :)
Это здорово, конечно, но таки удобней и быстрей листать готовую книгу, да и связь не везде есть.
Есть пара советов, первый — выкладывать в репозиторий бинарники используемых библиотек — а то не собирается сходу. Второй — почему все используют обычно iTextSharp при работе с PDF. Я года 4 назад когда появилась необходимость протестил их несколько штук и выбрал тоже бесплатный PDFsharp (pdfsharp.codeplex.com) — рекомендую. Насчет iTextSharp — детали уже не помню но минусов у него много нашел.
По поводу PDF. Когда делал программу — iTextSharp первый под руку попался и легко получилось его использовать.
Позже уже наткнулся на статью habrahabr.ru/blogs/open_source/112707/
Безусловно, если будет серьёзная задача — серьёзно подойду к выбору и учту ваш совет.
По поводу бинарников в репозитории — несколько спорно.
Делаем PDF-книгу из веб-комикса при помощи C# на примере xkcd