знать теорию одно, а уметь применять ее на практике совсем другое...
progressBarCopy1.Maximum = 100; // default value
progressBarCopy1.Step = 5; // % per step
long bytesPerStep = fsread.Length * 0.01 * progressBarCopy1.Step;
for (long i=0; ; ++i) {
if (i == bytesPerStep) {
i = 0;
progressBarCopy1.PerformStep();
}
...
}
IEnumerable.OrderBy
есть перегрузка, принимающая вторым явным аргументом IComparer - объект, который знает, как сравнивать элементы между собой при сортировке. Имплементируя его для IComparer<string>
, вы можете попытаться распарсить имена файлов в целые числа и сравнить между собой, а если не выйдет - сравнивать лексикографически с помощью умолчательной реализации - StringComparer
.
А советы про концентрацию - это для тех, кто еще не определился с областью, но руки уже чешутся зарабатывать сотни нефти. Головы у людей в среднем маленькие и нужно успеть впихнуть в них хоть что-то, пока мотивация не угасла. Если вам нравится - делайте, чужой опыт такого массового направления, как веб - это не про вас лично.