У меня есть процесс, который может застрять в бесконечном цикле, и я хочу добавить 5-секундный таймаут, чтобы он не зависал вечно.
bool FlagSuccess = false; while (FlagSuccess == false) { try { //Blah blah blah FlagSuccess=true; } catch { } }
Это конструкция, которую я стараюсь избегать.Но если вы должны:
bool FlagSuccess = false; DateTime timeout = DateTime.UtcNow.AddSeconds(5); while (FlagSuccess == false && DateTime.UtcNow < timeout) { try { //Blah blah blah FlagSuccess=true; } catch { } }