So, I wrote this code, inspired by a Daily WTF post, which I wanted to make "more efficient":

public static string LastSixDigits(string number)
{
    return new List<string>(new string[] { number })
        .Where(n => !string.IsNullOrWhiteSpace(n) && n.Length >= 6)
        .DefaultIfEmpty(string.Empty)
        .First().Reverse().Take(6).Reverse()
        .Aggregate(string.Empty, (s, c) => s += c);
}

How it works:

  • Makes a list of the one argument passed
  • Takes only the elements of that list which are not whitespace and which have a satisfactory length
  • If no elements remain, pass the rest the empty string
  • Take the only element from the list, reverse it, take 6 characters, reverse those, and aggregate them into a string

Please, for the love of all that is holy...

Do not ever do this.

Not in production code.

Not even as a joke.

You think I'm kidding? I've seen crap like this in production code. Extensions like ReSharper make it super easy to abuse LINQ.

Never do it. It's a trap.

Thank you.

Sincerely, Everyone ever

Previous Post