Question: 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.

Answer: 
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.
In PHP I sometimes encounter code like:

```
foreach ($array as $value) {
    $trimmed[] = trim($value);
}
return $trimmed;

```

Which idiomatically can be implemented with:

```
return array_map('trim', $array);

```