Ok, got it:
string.Join("|",
mc.OfType<Match>().Select(m =>
string.Join(";",m.Groups.OfType<Group>().Select(g =>
g.Value
).Skip(1).ToArray())
).ToArray()));
Now I know that Select
and SelectMany
work differently :).
Any answers with other approaches and explanations are still very welcome.