如何在連續跳過第一個字段的同時在一行中查找每個'3個字段組合中的第一個字段''行。連續查找'3個字段組合'中的每個'第一個字段'並跳過第一個字段
假設我們有一排這樣的:
「零」,「一」, 「二」, 「三」, 「一」, 「二」, 「三」, 「一」 ,「二」, 「三公」
我想打一個循環,那麼只有做一些事情,如果值是「一」在這種情況下,但是值彼此當然不同。
請注意,我必須跳過「零」
我需要它在C#中,但其他語言或僞代碼以及OK
請讓我注意,我可以用2做循環,但我不認爲這是最有效的方式。
如何在連續跳過第一個字段的同時在一行中查找每個'3個字段組合中的第一個字段''行。連續查找'3個字段組合'中的每個'第一個字段'並跳過第一個字段
假設我們有一排這樣的:
「零」,「一」, 「二」, 「三」, 「一」, 「二」, 「三」, 「一」 ,「二」, 「三公」
我想打一個循環,那麼只有做一些事情,如果值是「一」在這種情況下,但是值彼此當然不同。
請注意,我必須跳過「零」
我需要它在C#中,但其他語言或僞代碼以及OK
請讓我注意,我可以用2做循環,但我不認爲這是最有效的方式。
所以這是一個DataTable
,你想跳過第一列,並採取一切第三列:
List<DataColumn> myColumns = table.Columns.Cast<DataColumn>()
.Skip(1)
.Select((col, index) => new { col, index})
.GroupBy(x => x.index/3)
.Select(xg => xg.Select(x => x.col).First())
.ToList();
這將使用整數除法「絕招」來獲得一組三行。然後我把每一組的第一行。
foreach (DataRow row in table.Rows)
Console.WriteLine("Every third field after the second: "
+ string.Join(",", myColumns.Select(c => row[c])));
工程很好,非常感謝! –
使用模運算符。
Pesudocode:
for (int i = 1; i < row.length; i++)
{
if (i+2 % 3 == 0) doSomething();
}
什麼是_row_? –
在這種情況下,帶有單元格的數據行,但列表或數組中的對象也很好,我只需要僞代碼來做到這一點 –
你能提供更多的例子嗎? –