Member 12230809 Ответов: 1

С chekfiles# читать открыть


Привет я учусь делать цикл на языке Си#

есть такая схема

if (File.Exists(cFiles)){
ReadCode
}
else {
Open Files
//back to check condition
}


я хочу, чтобы Элс вернулся, чтобы снова проверить файлы.

Что я уже пробовал:

я могу сделать это с помощью
else {
Open Files
ReadCode
}


но так как код чтения слишком велик, я хочу избежать этого
я пытаюсь сделать ярлык, а затем разместить goto, но это приводит к ошибке
thislabel:
if (File.Exists(cFiles)){
ReadCode
}
else {
Open Files
goto thislabel:
}

1 Ответов

Рейтинг:
6

Mehedi Shams

Привет Member 12230809,

Никогда не использовать Goto, это запрещенный материал, который кладут на полку - вы можете просто знать о нем, но никогда не прикасаться к нему :).

Просто оберните свой код с помощью WHILE петля. По сути, он дает тот же эффект, что и Goto.

Open Files
while(true)
{
   if (File.Exists(cFiles))
   {
      ReadCode
      break;
   }
   else
   {
      Open Files
      // Put a break here on a certain condition based on the scenario.
   }
}
Однако, поскольку мы не знаем, что делает ваш "открытый файл", вам нужно поставить какое-то условие в блоке else, например: выход, если количество проверенных файлов достигает общего количества файлов и т. д. В противном случае цикл будет продолжаться вечно, вызывая сбой программы.