The C# language specification defines the empty-statement grammar production, which allows me to do something like this:
static void Main(string[] a
while (GetWhitespace(textStream)) ;