Can I do things in IL that I can't do in C#?
Yes. Many examples you can do in IL But that con't do in c#.Like you can throw exceptions that are not derived from System.Exception, and you can have non-zero-based arrays.