Как инкапсулировать предложение for?C#

Место общения программистов C#
Ответить
Anonymous
 Как инкапсулировать предложение for?

Сообщение Anonymous »

Это больше похоже на упражнение.
У меня есть несколько условий, которые влияют на два вложенных предложения for:

Код: Выделить всё

for(...)//1st
{
for(...)//2nd
{
...
}
}
и поскольку существуют различные возможности (каждая для условия), соответственно, for1 и for2 могут различаться.
Например, первый for может быть

Код: Выделить всё

for (int row = 0; row < numRows; row++)
или

Код: Выделить всё

for (int row = numRows - 1; row >= 0; row--)
поэтому меняется не только начало и конец, но и увеличение/уменьшение (++ или --)
Поэтому я подумал, что если бы можно было «инкапсулировать» цикл for, это было бы легко.
Что-то вроде (псевдокод)

Код: Выделить всё

if(condition1)
for1=...
else
for1=...

if(condition2)
for2=...
else
for2=...

for1
{
for2
{
...
}
}
--ADD--
Сам код довольно прост.

Код: Выделить всё

for (int row = numRows - 1; row >= 0; row--)
{
...
for (int column = 0; column < numColumns; column++)
{
...
}
}
но если у меня есть опция FlipVertical, первым будет

Код: Выделить всё

for (int row = 0; row < numRows; row++)
и если у меня есть опция FlipHorizontal, второй будет

Код: Выделить всё

for (int column = numColumns-1; column >=0; column--)
Опять же, это совсем несложно. Я просто хотел получить подсказки, как решить эту задачу умным, простым и компактным способом.
И да, мне нужны индексы строки и столбца
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/797 ... for-clause
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»