Ich versuche, funktionale Programmierung Grundlagen zu lernen, Wie kann ich das gleiche Ergebnis mit C# erreichen, weiß ich, linq bietet die Select-Methode für diese Art von Zwecken, aber ich muss dies tun, indem ich selbst zu verstehen, wie man Rekursion über Listen macht. (Ich nehme an, dass Groovy den + Operator für Listen neu definiert).Iterieren über eine Liste rekursiv in C#
/* Probe in Groovy */
def <TResult> List<TResult> Filter(List<TResult> list, Closure cls)
{
if(list.isEmpty()) {
return []
} else {
return (cls(list.head()) ? [list.head()] : []) + Filter(list.tail(),cls)
}
}
(Filter([1,2,3,4,5,6,7,8], { x-> x % 2 == 0 }))
.each({teger -> println(teger) })
Ich bin nicht vertraut mit groovy aber gut in C# trainiert. Könnten Sie kurz erklären, was Sie tun wollen? – Toxantron
Macht nichts, habe es – Toxantron
Wenn Sie wirklich wollen, funktionale Programmierung auf. NET zu lernen, sollten Sie besser F # verwenden. C# ist eine multiple Paradigmensprache und hat eine sehr große Vielfalt an Programmiermöglichkeiten. – Sofver