The C# style guide of a former employer of mine (an enterprise C# user) forbids both of these snippets because of the unbraced statements in the former and the LINQ and lambdas in the latter. But admittedly I don't know what's common among C# users, so maybe they were in the minority.
The "required brackets" is more common but I think it's a good rule :).
Readability is only slightly hindered by the extra brackets, but I've seen quite a few errors from
The LINQ version should be allowed almost everywhere that has a good development group. Sometimes LINQ queries can get hairier than the equivalent foreach, but I've never worked anywhere that would frown upon the shorter/cleaner LINQ.
I don't like the version without brackets, but I don't think it would make the code less compact if you'd add brackets.