<p>As they are in .Net 3.5. I know they are in 4.0, as that's what the DLR works with, but I'm interested in the version we have now.</p>

LINQ expression trees can represent anything you can put in a normal C# expression. As such, they can't be used to directly represent
```
while
```
loops,
```
for
```
loops, etc.
However, it's theoretically possible to use lambda expressions and recursion to carry out any iteration you may need. In practice it may be easier to drop
```
Enumerable
```
methods into your tree.