Есть ли другой способ для достижения следующего результата? (Без использования если)Выражение для разделения последней итерации цикла for
static void Main(string[] args)
{
int n = 16;
Action[] action = new Action[2] { go0, go1 };
for (int i = 1; i < n + 1; i++)
{
Console.Write(i - 1);
action[((i % (n)) % (i + 1))/i]();
//Console.Write(((i % (n)) % (i + 1))/i);
}
Console.ReadLine();
}
static void go0() { Console.Write("-"); }
static void go1() { Console.Write("|"); }
EDIT:
хорошо я постараюсь быть более конкретным. Моя реальная проблема связана с графикой.
Я пытаюсь сделать сетку белых прямоугольников и разделителей строк между ними. Поэтому, когда я вхожу в цикл для рисования каждого прямоугольника, я также рисую правую сторону каждого прямоугольника другим цветом, чтобы сделать разделитель отличным.
Но когда я прихожу к последнему прямоугольнику, я не хочу рисовать его правую сторону. Чтобы преодолеть это, я обнаружил, что этот подход может работать, если первый метод рисует разделитель, а второй метод ничего не рисует.
(Я не программист, поэтому мне сложно выразить себя, когда речь идет о программировании).
ли это [код гольф] (http://codegolf.stackexchange.com/) или реальная проблема? –
Пожалуйста, используйте 'if'. Я бы не хотел поддерживать такой код, даже как удар в аду. – dmay
Если вы повторяете слишком много, не можете ли вы просто настроить условие цикла? Подобно 'i = 1; i
Zec