One of the things I particularly like with Caml is
match ___ with value operator. It is kind of a
switch case, except that it has a value rather than being a masked big
if then else.
tuffEnumType.HugelyFantasticStuff ? context.Solid.ID
The closest thing I found in C# is using the ternary operator in this fashion, which is kind of elegant IMNSHO:
Func<ShittyType, Guid> stuffIdSelector = type => type == EnumStuffEnumType.BigStuff ? context.BigStuff.ID : type == EnumS
That you would then use for example in a nice
var ids = stuffList.Select(stuffIdSelector);
Not exactly the same, but close enough, and with pattern matching coming in C# 6, exciting things ahead!