Chciałbym osiągnąć coś takiego:
Jeżeli nie uda się zparsować, to pomiń ten element
"1 2 4 -5 x 12 -3 4"
.Split(' ')
.Select( x =>
{
int p;
return Int32.TryParse(x, out p) ? p : skip_this_one;
})
.ToList()
.ForEach(Console.WriteLine);
Udało mi się to zrobić w ten sposób, ale to raczej jest obejście, a nie rozwiązanie.
"1 2 4 -5 x 12 -3 4"
.Split(' ')
.Select( x =>
{
int p;
return Int32.TryParse(x, out p) ? (int?)p : null;
})
.Where(x => x != null)
.ToList()
.ForEach(x => Console.WriteLine(x.Value));
Więc, czy da się pominąć dany element podczas .Select() i gdyby też nie trzeba było się np. dobierać do jego .Value