Есть ли способ узнать текущий пробег в Еогеасп без должны:Текущий индекс цикла Еогеасп
Int32 i;
foreach
i++;
или это лучший вариант я получил? Кроме того, как узнать максимальное количество элементов в этом цикле? То, что я пытаюсь сделать, это обновить индикатор прогресса во время цикла foreach в моей форме.
Это то, что я до сих пор:
FileInfo[] directoryFiles = (new DirectoryInfo(folderBrowserDialog.SelectedPath)).GetFiles("*.*");
foreach (FileInfo file in directoryFiles)
{
if ((file.Attributes & FileAttributes.Hidden) == FileAttributes.Hidden || (file.Attributes & FileAttributes.System) == FileAttributes.System)
continue;
backgroundWorkerLoadDir.ReportProgress(i, file.Name);
System.Threading.Thread.Sleep(10);
}
Так оно и должно быть, как в следующем, верно?
for (Int32 i = 0; i < DirectoryFiles.Length; i++)
{
if ((DirectoryFiles[i].Attributes & FileAttributes.Hidden) == FileAttributes.Hidden || (DirectoryFiles[i].Attributes & FileAttributes.System) == FileAttributes.System)
continue;
backgroundWorkerLoadDir.ReportProgress((i/DirectoryFiles.Length) * 100, DirectoryFiles[i].Name);
System.Threading.Thread.Sleep(10);
}
Могли бы вы вставить текущий код, в том числе декларации для коллекции, вы итерации? – Reinderien
Пожалуйста, напишите какой-нибудь реальный код, а не псевдокод. –
Каков тип массива/коллекции u? –