Как я пишу.. Цикл с условием продолжения в C#?
(Редактирование: Я - программист VB.NET, пытающийся сделать перемещение к C#, таким образом, у меня действительно есть опыт с.NET / синтаксис VB.Спасибо!)
Помимо ответа Энтони Пеграма, вы также можете использовать цикл while, который проверяет условие ДО входа в цикл
while (someCriteria)
{
if (someCondition)
{
someCriteria = false;
// or you can use break;
}
if (ignoreJustThisIteration)
{
continue;
}
}
using System;
class MainClass
{
public static void Main()
{
int i = 0;
do
{
Console.WriteLine("Number is {0}", i);
i++;
} while (i < 100);
}
}
Другой метод:
using System;
class MainClass
{
public static void Main()
{
int i = 0;
while(i <100)
{
Console.WriteLine("Number is {0}", i);
i++;
}
}
}
Удивительно, что никто еще не упомянул классический пример конструкции do.. while. Do .. while - это способ, которым вы хотите запустить какой-то код, проверить или проверить что-то (обычно в зависимости от того, что произошло во время выполнения этого кода), и если вам не нравится результат, начните заново. Это именно то, что вам нужно, когда вы хотите, чтобы пользовательский ввод соответствовал некоторым ограничениям:
bool CheckInput(string input) { ... }
...
string input;
...
do {
input=Console.ReadLine();
} while(!CheckInput(input));
Это довольно общая форма: когда условие достаточно простое, его обычно помещают непосредственно в конструкцию цикла (внутри скобок после " while "ключевое слово), а не метод его вычисления.
Ключевые концепции в этом использовании заключаются в том, что вы должны запросить ввод пользователя хотя бы один раз (в лучшем случае, пользователь получит его правильно с первой попытки); и что условие не имеет особого смысла, пока тело не выполнится хотя бы один раз. Каждый из них - хорошие подсказки, которые делают ... в то время как это инструмент для работы, они оба вместе почти гарантия.
Вот простой пример, который напечатает некоторые числа:
int i = 0;
do {
Console.WriteLine(++i);
} while (i < 10);
Общая форма:
do
{
// Body
} while (condition);
Где условие
- некоторое выражение типа bool
.
Лично я редко пишу циклы do / while - для
, foreach
и прямые , тогда как, по моему опыту, циклы
встречаются гораздо чаще. Последнее:
while (condition)
{
// body
}
Разница между , в то время как
и do ... в то время как
заключается в том, что в первом случае тело никогда не будет выполнено, если условие ложно для начала - тогда как в последнем случае он всегда выполняется один раз, прежде чем условие когда-либо будет оценено.
Поскольку вы упомянули, что пришли с VB.NET, я настоятельно рекомендую проверить эту ссылку , чтобы показать сравнения. Вы также можете использовать этот wensite для преобразования VB в C # и наоборот - так что вы можете поиграть со своим существующим кодом VB и посмотреть, как он выглядит на C #, включая циклы и все остальное под сыном ..
Чтобы ответить на вопрос о цикле, вы просто хотите сделать что-то вроде:
while(condition)
{
DoSomething();
}
Вы также можете сделать - но вот так:
do
{
Something();
}
while(condition);
Вот другой переводчик кода , который я успешно использовал, и еще один отличный сайт сравнения C # -> VB . Удачи!
//remember, do loop will always execute at least once, a while loop may not execute at all
//because the condition is at the top
do
{
//statements to be repeated
} while (condition);