编码
dv1 = new DataView(table3);
dv1.RowFilter = pole + " = '" + crit + "'"; // фильтр
dv1.Sort = "p_n"; // сортировка по возрастанию ВАР.
// DataView. Отобразить в dataGridView1
dataGridView1.DataSource = dv1;
foreach (var obj in dv1) // foreach 2 СПИСОК
{
DataRowView drv = (DataRowView)obj;
DataRow r = drv.Row;
if (// условие)
{
// выполнение ...
// ВОПРОС !!!
// Возврат к первому элементу коллекции
}
// код...
}
问题
如何让“在 if (//condition) 结束时”代码先转到“foreach”?
好吧,GOTO 不是很好,尽管它是可能的。而带有 foreache 的递归 - 将会下降。当它运行时,您不能更改它的元素。因此,要解决这个问题,你只需要重新开始一个循环。例如像这样:
在一个函数中选择 forich 并在其自身中调用它。
编码
将循环替换为
foreach,for然后返回到第一个元素将如下i = 0;所示:对于(C# 参考)
但要小心,在标头之外更改循环计数器会降低代码的可读性,因此请尽量避免此类解决方案。