<p>I'd be interested in some before-and-after c# examples, some non-idiomatic vs idiomatic examples. Non-c# examples would be fine as well if they get the idea across. Thanks.</p>

Idiomatic code is code that does a common task in the common way for your language.  It's similar to a design pattern, but at a much smaller scale.  Idioms differ widely by language.  One idiom in C# might be to use an iterator to iterate through a collection rather than looping through it.  Other languages without iterators might rely on the loop idiom.