Я хотел создать свободный API для итерации в массиве, где я фильтрую значения и продолжаю обрабатывать оставшиеся (не отфильтрованные) значения. Примерно такой псевдокод:
int[] input = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
from a in Take(3) // a = {5,4,1}
from b in Skip(4) // b = null
from c in TakeWhile(x=> x != 0) // c = {7, 2}
select new Stuff(a, b, c)
Я не знаю, с чего начать, на чем основано подобное. Поэтому я хотел попросить о помощи.
Система не должна быть ограничена целыми числами .. другой пример:
string[] input = { "how", "are", "you", "doing", "?" };
from a in OneOf("how", "what", "where") // a = "how"
from b in Match("are") // b = "are"
from c in TakeWhile(x=> x != "?") // c = { "you", "doing" }
select new Stuff(a, b, c)