, BitFlipper wrote

@evildictaitor:

Then why have extension methods at all when helper classes is all we need?

The difference is that invoking a method as if it was an instance method if it logically operates on that instance has actual readability benefits (especially in the context of LINQ, which the feature was invented for), e.g. list.Where(condition) vs. Enumerable.Where(list, condition), whereas the difference between writing String.Longest or StringHelper.Longest isn't that great.