List has a ForEach method, where it will call a supplied lambda on every one of its elements:
dataHolder.ToList().ForEach(x => loggingService.Warn(LOG_TITLE, "Value: " + x.ClientName));
It isn't really clear what you're asking, but this could be a way to "have code run on every item in a bunch of items, without using the word foreach
(case sensitive)"
I'm not sure I'd use it though, because it requires an extra conversion step to List (ForEach is a List thing not a LINQ thing) when foreach
will work just fine on the existing IEnumerable you have.. As such I would claim that using ForEach when you could foreach for code-presentation reasons is a fine use case for one of my favorite memes:

ps; this question has some wonderful and lengthy discourse on the differences and when it might be better to use one over the other. As your stated goal doesn't encompass any of the finer points of mutating state, thread safety etc I'd stick with foreach